(Apple) Start to refactor setting data structure; clean up iOS code some
This commit is contained in:
parent
6548c303e7
commit
6943127aef
|
@ -243,49 +243,23 @@ rarch_setting_t setting_data_group_setting(enum setting_type type, const char* n
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
rarch_setting_t setting_data_bool_setting(const char* name, const char* description, bool* target, bool default_value)
|
#define DEFINE_BASIC_SETTING_TYPE(TAG, TYPE, VALUE, SETTING_TYPE) \
|
||||||
{
|
rarch_setting_t setting_data_##TAG##_setting(const char* name, const char* description, TYPE* target, TYPE default_value) \
|
||||||
rarch_setting_t result = { ST_BOOL, name, sizeof(bool), description };
|
{ \
|
||||||
result.value.boolean = target;
|
rarch_setting_t result = { SETTING_TYPE, name, sizeof(TYPE), description }; \
|
||||||
result.default_value.boolean = default_value;
|
result.value.VALUE = target; \
|
||||||
return result;
|
result.default_value.VALUE = default_value; \
|
||||||
|
return result; \
|
||||||
}
|
}
|
||||||
|
|
||||||
rarch_setting_t setting_data_int_setting(const char* name, const char* description, int* target, int default_value)
|
DEFINE_BASIC_SETTING_TYPE(bool, bool, boolean, ST_BOOL)
|
||||||
{
|
DEFINE_BASIC_SETTING_TYPE(int, int, integer, ST_INT)
|
||||||
rarch_setting_t result = { ST_INT, name, sizeof(bool), description };
|
DEFINE_BASIC_SETTING_TYPE(uint, unsigned int, unsigned_integer, ST_UINT)
|
||||||
result.value.integer = target;
|
DEFINE_BASIC_SETTING_TYPE(float, float, fraction, ST_FLOAT)
|
||||||
result.default_value.integer = default_value;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
rarch_setting_t setting_data_uint_setting(const char* name, const char* description, unsigned int* target, unsigned int default_value)
|
rarch_setting_t setting_data_string_setting(enum setting_type type, const char* name, const char* description, char* target, unsigned size, char* default_value)
|
||||||
{
|
{
|
||||||
rarch_setting_t result = { ST_UINT, name, sizeof(bool), description };
|
rarch_setting_t result = { type, name, size, description };
|
||||||
result.value.unsigned_integer = target;
|
|
||||||
result.default_value.unsigned_integer = default_value;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
rarch_setting_t setting_data_float_setting(const char* name, const char* description, float* target, float default_value)
|
|
||||||
{
|
|
||||||
rarch_setting_t result = { ST_FLOAT, name, sizeof(bool), description };
|
|
||||||
result.value.fraction = target;
|
|
||||||
result.default_value.fraction = default_value;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
rarch_setting_t setting_data_path_setting(const char* name, const char* description, char* target, unsigned size, char* default_value)
|
|
||||||
{
|
|
||||||
rarch_setting_t result = { ST_PATH, name, size, description };
|
|
||||||
result.value.string = target;
|
|
||||||
result.default_value.string = default_value;
|
|
||||||
return result;
|
|
||||||
}
|
|
||||||
|
|
||||||
rarch_setting_t setting_data_string_setting(const char* name, const char* description, char* target, unsigned size, char* default_value)
|
|
||||||
{
|
|
||||||
rarch_setting_t result = { ST_STRING, name, size, description };
|
|
||||||
result.value.string = target;
|
result.value.string = target;
|
||||||
result.default_value.string = default_value;
|
result.default_value.string = default_value;
|
||||||
return result;
|
return result;
|
||||||
|
@ -312,26 +286,36 @@ void setting_data_load_current()
|
||||||
memcpy(&fake_extern, &g_extern, sizeof(struct global));
|
memcpy(&fake_extern, &g_extern, sizeof(struct global));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifdef IOS
|
||||||
|
static const uint32_t features = SD_FEATURE_SHADERS;
|
||||||
|
#elif defined(OSX)
|
||||||
|
static const uint32_t features = SD_FEATURE_VIDEO_MODE | SD_FEATURE_SHADERS |
|
||||||
|
SD_FEATURE_VSYNC | SD_FEATURE_AUDIO_DEVICE;
|
||||||
|
#endif
|
||||||
|
|
||||||
#define g_settings fake_settings
|
#define g_settings fake_settings
|
||||||
#define g_extern fake_extern
|
#define g_extern fake_extern
|
||||||
|
|
||||||
|
|
||||||
#define DEFAULT_ME_YO 0
|
#define DEFAULT_ME_YO 0
|
||||||
#define NEXT (list[index++])
|
#define NEXT (list[index++])
|
||||||
#define START_GROUP(NAME) NEXT = setting_data_group_setting (ST_GROUP, NAME);
|
#define WITH_FEATURE(FTS) if (!FTS || features & FTS)
|
||||||
#define END_GROUP() NEXT = setting_data_group_setting (ST_END_GROUP, 0);
|
#define START_GROUP(NAME) { NEXT = setting_data_group_setting (ST_GROUP, NAME);
|
||||||
#define START_SUB_GROUP(NAME) NEXT = setting_data_group_setting (ST_SUB_GROUP, NAME);
|
#define END_GROUP() NEXT = setting_data_group_setting (ST_END_GROUP, 0); }
|
||||||
#define END_SUB_GROUP() NEXT = setting_data_group_setting (ST_END_SUB_GROUP, 0);
|
#define START_SUB_GROUP(NAME) { NEXT = setting_data_group_setting (ST_SUB_GROUP, NAME);
|
||||||
|
#define END_SUB_GROUP() NEXT = setting_data_group_setting (ST_END_SUB_GROUP, 0); }
|
||||||
#define CONFIG_BOOL(TARGET, NAME, SHORT, DEF) NEXT = setting_data_bool_setting (NAME, SHORT, &TARGET, DEF);
|
#define CONFIG_BOOL(TARGET, NAME, SHORT, DEF) NEXT = setting_data_bool_setting (NAME, SHORT, &TARGET, DEF);
|
||||||
#define CONFIG_INT(TARGET, NAME, SHORT, DEF) NEXT = setting_data_int_setting (NAME, SHORT, &TARGET, DEF);
|
#define CONFIG_INT(TARGET, NAME, SHORT, DEF) NEXT = setting_data_int_setting (NAME, SHORT, &TARGET, DEF);
|
||||||
#define CONFIG_UINT(TARGET, NAME, SHORT, DEF) NEXT = setting_data_uint_setting (NAME, SHORT, &TARGET, DEF);
|
#define CONFIG_UINT(TARGET, NAME, SHORT, DEF) NEXT = setting_data_uint_setting (NAME, SHORT, &TARGET, DEF);
|
||||||
#define CONFIG_FLOAT(TARGET, NAME, SHORT, DEF) NEXT = setting_data_float_setting (NAME, SHORT, &TARGET, DEF);
|
#define CONFIG_FLOAT(TARGET, NAME, SHORT, DEF) NEXT = setting_data_float_setting (NAME, SHORT, &TARGET, DEF);
|
||||||
#define CONFIG_PATH(TARGET, NAME, SHORT, DEF) NEXT = setting_data_path_setting (NAME, SHORT, TARGET, sizeof(TARGET), DEF);
|
#define CONFIG_PATH(TARGET, NAME, SHORT, DEF) NEXT = setting_data_string_setting(ST_PATH, NAME, SHORT, TARGET, sizeof(TARGET), DEF);
|
||||||
#define CONFIG_STRING(TARGET, NAME, SHORT, DEF) NEXT = setting_data_string_setting(NAME, SHORT, TARGET, sizeof(TARGET), DEF);
|
#define CONFIG_STRING(TARGET, NAME, SHORT, DEF) NEXT = setting_data_string_setting(ST_STRING, NAME, SHORT, TARGET, sizeof(TARGET), DEF);
|
||||||
#define CONFIG_HEX(TARGET, NAME, SHORT)
|
#define CONFIG_HEX(TARGET, NAME, SHORT)
|
||||||
#define CONFIG_BIND(TARGET, PLAYER, NAME, SHORT, DEF) \
|
#define CONFIG_BIND(TARGET, PLAYER, NAME, SHORT, DEF) \
|
||||||
NEXT = setting_data_bind_setting (NAME, SHORT, &TARGET, PLAYER, DEF);
|
NEXT = setting_data_bind_setting (NAME, SHORT, &TARGET, PLAYER, DEF);
|
||||||
|
|
||||||
|
#define FLAGS(FLAGS) (list[index - 1]).flags = FLAGS;
|
||||||
|
|
||||||
// TODO: Add black_frame_insertion, swap_interval msg_color video.rotation audio.block_frames audio.in_rate fast_forward_ratio
|
// TODO: Add black_frame_insertion, swap_interval msg_color video.rotation audio.block_frames audio.in_rate fast_forward_ratio
|
||||||
// rgui_show_start_screen
|
// rgui_show_start_screen
|
||||||
|
|
||||||
|
@ -346,8 +330,7 @@ const rarch_setting_t* setting_data_get_list()
|
||||||
/***********/
|
/***********/
|
||||||
/* DRIVERS */
|
/* DRIVERS */
|
||||||
/***********/
|
/***********/
|
||||||
#if 0
|
WITH_FEATURE(SD_FEATURE_MULTI_DRIVER) START_GROUP("Drivers")
|
||||||
START_GROUP("Drivers")
|
|
||||||
START_SUB_GROUP("Drivers")
|
START_SUB_GROUP("Drivers")
|
||||||
CONFIG_STRING(g_settings.video.driver, "video_driver", "Video Driver", "")
|
CONFIG_STRING(g_settings.video.driver, "video_driver", "Video Driver", "")
|
||||||
CONFIG_STRING(g_settings.video.gl_context, "video_gl_context", "OpenGL Driver", "")
|
CONFIG_STRING(g_settings.video.gl_context, "video_gl_context", "OpenGL Driver", "")
|
||||||
|
@ -356,7 +339,6 @@ const rarch_setting_t* setting_data_get_list()
|
||||||
CONFIG_STRING(g_settings.input.joypad_driver, "input_joypad_driver", "Joypad Driver", "")
|
CONFIG_STRING(g_settings.input.joypad_driver, "input_joypad_driver", "Joypad Driver", "")
|
||||||
END_SUB_GROUP()
|
END_SUB_GROUP()
|
||||||
END_GROUP()
|
END_GROUP()
|
||||||
#endif
|
|
||||||
|
|
||||||
/*********/
|
/*********/
|
||||||
/* PATHS */
|
/* PATHS */
|
||||||
|
@ -406,7 +388,7 @@ const rarch_setting_t* setting_data_get_list()
|
||||||
/* VIDEO */
|
/* VIDEO */
|
||||||
/*********/
|
/*********/
|
||||||
START_GROUP("Video")
|
START_GROUP("Video")
|
||||||
START_SUB_GROUP("Monitor")
|
WITH_FEATURE(SD_FEATURE_MULTI_DRIVER) START_SUB_GROUP("Monitor")
|
||||||
CONFIG_UINT(g_settings.video.monitor_index, "video_monitor_index", "Monitor Index", monitor_index)
|
CONFIG_UINT(g_settings.video.monitor_index, "video_monitor_index", "Monitor Index", monitor_index)
|
||||||
CONFIG_BOOL(g_settings.video.fullscreen, "video_fullscreen", "Use Fullscreen mode", g_extern.force_fullscreen ? true : fullscreen) // if (!g_extern.force_fullscreen)
|
CONFIG_BOOL(g_settings.video.fullscreen, "video_fullscreen", "Use Fullscreen mode", g_extern.force_fullscreen ? true : fullscreen) // if (!g_extern.force_fullscreen)
|
||||||
CONFIG_BOOL(g_settings.video.windowed_fullscreen, "video_windowed_fullscreen", "Windowed Fullscreen Mode", windowed_fullscreen)
|
CONFIG_BOOL(g_settings.video.windowed_fullscreen, "video_windowed_fullscreen", "Windowed Fullscreen Mode", windowed_fullscreen)
|
||||||
|
@ -415,12 +397,10 @@ const rarch_setting_t* setting_data_get_list()
|
||||||
CONFIG_FLOAT(g_settings.video.refresh_rate, "video_refresh_rate", "Refresh Rate", refresh_rate)
|
CONFIG_FLOAT(g_settings.video.refresh_rate, "video_refresh_rate", "Refresh Rate", refresh_rate)
|
||||||
END_SUB_GROUP()
|
END_SUB_GROUP()
|
||||||
|
|
||||||
#if 0
|
|
||||||
/* Video: Window Manager */
|
/* Video: Window Manager */
|
||||||
START_SUB_GROUP("Window Manager")
|
WITH_FEATURE(SD_FEATURE_WINDOW_MANAGER) START_SUB_GROUP("Window Manager")
|
||||||
CONFIG_BOOL(g_settings.video.disable_composition, "video_disable_composition", "Disable WM Composition", disable_composition)
|
CONFIG_BOOL(g_settings.video.disable_composition, "video_disable_composition", "Disable WM Composition", disable_composition)
|
||||||
END_SUB_GROUP()
|
END_SUB_GROUP()
|
||||||
#endif
|
|
||||||
|
|
||||||
START_SUB_GROUP("Aspect")
|
START_SUB_GROUP("Aspect")
|
||||||
CONFIG_BOOL(g_settings.video.force_aspect, "video_force_aspect", "Force aspect ratio", force_aspect)
|
CONFIG_BOOL(g_settings.video.force_aspect, "video_force_aspect", "Force aspect ratio", force_aspect)
|
||||||
|
@ -442,13 +422,13 @@ const rarch_setting_t* setting_data_get_list()
|
||||||
CONFIG_BOOL(g_settings.video.smooth, "video_smooth", "Use bilinear filtering", video_smooth)
|
CONFIG_BOOL(g_settings.video.smooth, "video_smooth", "Use bilinear filtering", video_smooth)
|
||||||
END_SUB_GROUP()
|
END_SUB_GROUP()
|
||||||
|
|
||||||
START_SUB_GROUP("Shader")
|
WITH_FEATURE(SD_FEATURE_SHADERS) START_SUB_GROUP("Shader")
|
||||||
CONFIG_BOOL(g_settings.video.shader_enable, "video_shader_enable", "Enable Shaders", shader_enable)
|
CONFIG_BOOL(g_settings.video.shader_enable, "video_shader_enable", "Enable Shaders", shader_enable)
|
||||||
CONFIG_PATH(g_settings.video.shader_dir, "video_shader_dir", "Shader Directory", DEFAULT_ME_YO)
|
CONFIG_PATH(g_settings.video.shader_dir, "video_shader_dir", "Shader Directory", DEFAULT_ME_YO)
|
||||||
CONFIG_PATH(g_settings.video.shader_path, "video_shader", "Shader", DEFAULT_ME_YO)
|
CONFIG_PATH(g_settings.video.shader_path, "video_shader", "Shader", DEFAULT_ME_YO)
|
||||||
END_SUB_GROUP()
|
END_SUB_GROUP()
|
||||||
|
|
||||||
START_SUB_GROUP("Sync")
|
WITH_FEATURE(SD_FEATURE_VSYNC) START_SUB_GROUP("Sync")
|
||||||
CONFIG_BOOL(g_settings.video.threaded, "video_threaded", "Use threaded video", video_threaded)
|
CONFIG_BOOL(g_settings.video.threaded, "video_threaded", "Use threaded video", video_threaded)
|
||||||
CONFIG_BOOL(g_settings.video.vsync, "video_vsync", "Use VSync", vsync)
|
CONFIG_BOOL(g_settings.video.vsync, "video_vsync", "Use VSync", vsync)
|
||||||
CONFIG_BOOL(g_settings.video.hard_sync, "video_hard_sync", "Use OpenGL Hard Sync", hard_sync)
|
CONFIG_BOOL(g_settings.video.hard_sync, "video_hard_sync", "Use OpenGL Hard Sync", hard_sync)
|
||||||
|
@ -494,7 +474,7 @@ const rarch_setting_t* setting_data_get_list()
|
||||||
CONFIG_FLOAT(g_settings.audio.rate_control_delta, "audio_rate_control_delta", "Rate Control Delta", rate_control_delta)
|
CONFIG_FLOAT(g_settings.audio.rate_control_delta, "audio_rate_control_delta", "Rate Control Delta", rate_control_delta)
|
||||||
END_SUB_GROUP()
|
END_SUB_GROUP()
|
||||||
|
|
||||||
START_SUB_GROUP("Misc")
|
WITH_FEATURE(SD_FEATURE_AUDIO_DEVICE) START_SUB_GROUP("Misc")
|
||||||
CONFIG_STRING(g_settings.audio.device, "audio_device", "Device", DEFAULT_ME_YO)
|
CONFIG_STRING(g_settings.audio.device, "audio_device", "Device", DEFAULT_ME_YO)
|
||||||
CONFIG_UINT(g_settings.audio.out_rate, "audio_out_rate", "Ouput Rate", out_rate)
|
CONFIG_UINT(g_settings.audio.out_rate, "audio_out_rate", "Ouput Rate", out_rate)
|
||||||
CONFIG_PATH(g_settings.audio.dsp_plugin, "audio_dsp_plugin", "DSP Plugin", DEFAULT_ME_YO)
|
CONFIG_PATH(g_settings.audio.dsp_plugin, "audio_dsp_plugin", "DSP Plugin", DEFAULT_ME_YO)
|
||||||
|
|
|
@ -21,6 +21,25 @@
|
||||||
enum setting_type { ST_NONE, ST_BOOL, ST_INT, ST_UINT, ST_FLOAT, ST_PATH, ST_STRING, ST_HEX, ST_BIND,
|
enum setting_type { ST_NONE, ST_BOOL, ST_INT, ST_UINT, ST_FLOAT, ST_PATH, ST_STRING, ST_HEX, ST_BIND,
|
||||||
ST_GROUP, ST_SUB_GROUP, ST_END_GROUP, ST_END_SUB_GROUP };
|
ST_GROUP, ST_SUB_GROUP, ST_END_GROUP, ST_END_SUB_GROUP };
|
||||||
|
|
||||||
|
enum setting_features
|
||||||
|
{
|
||||||
|
SD_FEATURE_ALWAYS = 0,
|
||||||
|
SD_FEATURE_MULTI_DRIVER = 1,
|
||||||
|
SD_FEATURE_VIDEO_MODE = 2,
|
||||||
|
SD_FEATURE_WINDOW_MANAGER = 4,
|
||||||
|
SD_FEATURE_SHADERS = 8,
|
||||||
|
SD_FEATURE_VSYNC = 16,
|
||||||
|
SD_FEATURE_AUDIO_DEVICE = 32
|
||||||
|
};
|
||||||
|
|
||||||
|
enum setting_flags
|
||||||
|
{
|
||||||
|
SD_FLAG_PATH_DIR = 1,
|
||||||
|
SD_FLAG_PATH_FILE = 2,
|
||||||
|
SD_FLAG_ALLOW_EMPTY = 4,
|
||||||
|
SD_FLAG_VALUE_DESC = 8
|
||||||
|
};
|
||||||
|
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
enum setting_type type;
|
enum setting_type type;
|
||||||
|
@ -34,7 +53,8 @@ typedef struct
|
||||||
|
|
||||||
double min;
|
double min;
|
||||||
double max;
|
double max;
|
||||||
bool allow_blank;
|
|
||||||
|
uint64_t flags;
|
||||||
|
|
||||||
union
|
union
|
||||||
{
|
{
|
||||||
|
@ -78,8 +98,7 @@ rarch_setting_t setting_data_bool_setting(const char* name, const char* descript
|
||||||
rarch_setting_t setting_data_int_setting(const char* name, const char* description, int* target, int default_value);
|
rarch_setting_t setting_data_int_setting(const char* name, const char* description, int* target, int default_value);
|
||||||
rarch_setting_t setting_data_uint_setting(const char* name, const char* description, unsigned int* target, unsigned int default_value);
|
rarch_setting_t setting_data_uint_setting(const char* name, const char* description, unsigned int* target, unsigned int default_value);
|
||||||
rarch_setting_t setting_data_float_setting(const char* name, const char* description, float* target, float default_value);
|
rarch_setting_t setting_data_float_setting(const char* name, const char* description, float* target, float default_value);
|
||||||
rarch_setting_t setting_data_path_setting(const char* name, const char* description, char* target, unsigned size, char* default_value);
|
rarch_setting_t setting_data_string_setting(enum setting_type type, const char* name, const char* description, char* target, unsigned size, char* default_value);
|
||||||
rarch_setting_t setting_data_string_setting(const char* name, const char* description, char* target, unsigned size, char* default_value);
|
|
||||||
rarch_setting_t setting_data_bind_setting(const char* name, const char* description, struct retro_keybind* target, uint32_t index,
|
rarch_setting_t setting_data_bind_setting(const char* name, const char* description, struct retro_keybind* target, uint32_t index,
|
||||||
const struct retro_keybind* default_value);
|
const struct retro_keybind* default_value);
|
||||||
|
|
||||||
|
|
|
@ -374,7 +374,8 @@
|
||||||
detail:^{ return weakSelf.core ? apple_get_core_display_name(weakSelf.core) : @"Auto Detect"; }],
|
detail:^{ return weakSelf.core ? apple_get_core_display_name(weakSelf.core) : @"Auto Detect"; }],
|
||||||
[RAMenuItemBasic itemWithDescription:@"Load Content" action:^{ [weakSelf loadGame]; }],
|
[RAMenuItemBasic itemWithDescription:@"Load Content" action:^{ [weakSelf loadGame]; }],
|
||||||
[RAMenuItemBasic itemWithDescription:@"Load Content (History)" action:^{ [weakSelf loadHistory]; }],
|
[RAMenuItemBasic itemWithDescription:@"Load Content (History)" action:^{ [weakSelf loadHistory]; }],
|
||||||
[RAMenuItemBasic itemWithDescription:@"Settings" action:^{ [[RetroArch_iOS get] showSystemSettings]; }]
|
[RAMenuItemBasic itemWithDescription:@"Settings"
|
||||||
|
action:^{ [weakSelf.navigationController pushViewController:[RAFrontendSettingsMenu new] animated:YES]; }]
|
||||||
]
|
]
|
||||||
];
|
];
|
||||||
}
|
}
|
||||||
|
@ -932,6 +933,7 @@ static const void* const associated_core_key = &associated_core_key;
|
||||||
if ((self = [super initWithStyle:UITableViewStyleGrouped]))
|
if ((self = [super initWithStyle:UITableViewStyleGrouped]))
|
||||||
{
|
{
|
||||||
RAPauseMenu* __weak weakSelf = self;
|
RAPauseMenu* __weak weakSelf = self;
|
||||||
|
self.title = @"RetroArch Paused";
|
||||||
|
|
||||||
[self.sections addObject:@[@"Actions",
|
[self.sections addObject:@[@"Actions",
|
||||||
[RAMenuItemBasic itemWithDescription:@"Reset Content" action:^{ [weakSelf performBasicAction:RESET]; }],
|
[RAMenuItemBasic itemWithDescription:@"Reset Content" action:^{ [weakSelf performBasicAction:RESET]; }],
|
||||||
|
@ -945,8 +947,10 @@ static const void* const associated_core_key = &associated_core_key;
|
||||||
]];
|
]];
|
||||||
|
|
||||||
[self.sections addObject:@[@"Settings",
|
[self.sections addObject:@[@"Settings",
|
||||||
[RAMenuItemBasic itemWithDescription:@"System Config" action:^{ [[RetroArch_iOS get] showSystemSettings]; }],
|
[RAMenuItemBasic itemWithDescription:@"Frontend"
|
||||||
[RAMenuItemBasic itemWithDescription:@"Core Config" action:^{ [[RetroArch_iOS get] showSettings]; }]
|
action:^{ [weakSelf.navigationController pushViewController:[RAFrontendSettingsMenu new] animated:YES]; }],
|
||||||
|
[RAMenuItemBasic itemWithDescription:@"Core"
|
||||||
|
action:^{ [weakSelf.navigationController pushViewController:[[RACoreSettingsMenu alloc] initWithCore:apple_core] animated:YES]; }]
|
||||||
]];
|
]];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -34,9 +34,6 @@
|
||||||
|
|
||||||
- (void)refreshSystemConfig;
|
- (void)refreshSystemConfig;
|
||||||
|
|
||||||
- (IBAction)showSettings;
|
|
||||||
- (IBAction)showSystemSettings;
|
|
||||||
|
|
||||||
@property (nonatomic) NSString* configDirectory; // e.g. /var/mobile/Documents/.RetroArch
|
@property (nonatomic) NSString* configDirectory; // e.g. /var/mobile/Documents/.RetroArch
|
||||||
@property (nonatomic) NSString* globalConfigFile; // e.g. /var/mobile/Documents/.RetroArch/retroarch.cfg
|
@property (nonatomic) NSString* globalConfigFile; // e.g. /var/mobile/Documents/.RetroArch/retroarch.cfg
|
||||||
@property (nonatomic) NSString* coreDirectory; // e.g. /Applications/RetroArch.app/modules
|
@property (nonatomic) NSString* coreDirectory; // e.g. /Applications/RetroArch.app/modules
|
||||||
|
|
|
@ -298,22 +298,11 @@ static void handle_touch_event(NSArray* touches)
|
||||||
ios_set_logging_state([RetroArch_iOS get].logPath.UTF8String, apple_frontend_settings.logging_enabled);
|
ios_set_logging_state([RetroArch_iOS get].logPath.UTF8String, apple_frontend_settings.logging_enabled);
|
||||||
}
|
}
|
||||||
|
|
||||||
#pragma mark PAUSE MENU
|
|
||||||
- (IBAction)showPauseMenu:(id)sender
|
- (IBAction)showPauseMenu:(id)sender
|
||||||
{
|
{
|
||||||
[self pushViewController:[RAPauseMenu new] animated:YES];
|
[self pushViewController:[RAPauseMenu new] animated:YES];
|
||||||
}
|
}
|
||||||
|
|
||||||
- (IBAction)showSettings
|
|
||||||
{
|
|
||||||
[self pushViewController:[[RACoreSettingsMenu alloc] initWithCore:apple_core] animated:YES];
|
|
||||||
}
|
|
||||||
|
|
||||||
- (IBAction)showSystemSettings
|
|
||||||
{
|
|
||||||
[self pushViewController:[RAFrontendSettingsMenu new] animated:YES];
|
|
||||||
}
|
|
||||||
|
|
||||||
@end
|
@end
|
||||||
|
|
||||||
int main(int argc, char *argv[])
|
int main(int argc, char *argv[])
|
||||||
|
|
|
@ -193,7 +193,7 @@ const void* apple_get_frontend_settings(void)
|
||||||
settings[4] = setting_data_group_setting(ST_END_SUB_GROUP, 0);
|
settings[4] = setting_data_group_setting(ST_END_SUB_GROUP, 0);
|
||||||
|
|
||||||
settings[5] = setting_data_group_setting(ST_SUB_GROUP, "Bluetooth");
|
settings[5] = setting_data_group_setting(ST_SUB_GROUP, "Bluetooth");
|
||||||
settings[6] = setting_data_string_setting("ios_btmode", "Mode", apple_frontend_settings.bluetooth_mode,
|
settings[6] = setting_data_string_setting(ST_STRING, "ios_btmode", "Mode", apple_frontend_settings.bluetooth_mode,
|
||||||
sizeof(apple_frontend_settings.bluetooth_mode), "keyboard");
|
sizeof(apple_frontend_settings.bluetooth_mode), "keyboard");
|
||||||
settings[7] = setting_data_group_setting(ST_END_SUB_GROUP, 0);
|
settings[7] = setting_data_group_setting(ST_END_SUB_GROUP, 0);
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue