From 98e0c87a45e62e22cc800fed97106b0806352c40 Mon Sep 17 00:00:00 2001 From: twinaphex Date: Sat, 16 Aug 2014 06:41:07 +0200 Subject: [PATCH] (Menu) Refactor code in menu_info_screen_iterate --- frontend/menu/backend/menu_common_backend.c | 1195 ++++++++----------- settings_data.c | 3 + 2 files changed, 528 insertions(+), 670 deletions(-) diff --git a/frontend/menu/backend/menu_common_backend.c b/frontend/menu/backend/menu_common_backend.c index 2cc6a6ccd9..619b076e5f 100644 --- a/frontend/menu/backend/menu_common_backend.c +++ b/frontend/menu/backend/menu_common_backend.c @@ -501,720 +501,575 @@ static int menu_info_screen_iterate(unsigned action, rarch_setting_t *setting) if (driver.video_data && driver.menu_ctx && driver.menu_ctx->render) driver.menu_ctx->render(); - switch (driver.menu->info_selection) + current_setting = file_list_get_last_setting(driver.menu->selection_buf, driver.menu->selection_ptr); + + if (current_setting) + setting_data_get_description(current_setting, msg, sizeof(msg)); + else { - case MENU_SETTINGS_WINDOW_COMPOSITING_ENABLE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_disable_composition"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_LIBRETRO_LOG_LEVEL: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "libretro_log_level"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_LOGGING_VERBOSITY: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "log_verbosity"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_PERFORMANCE_COUNTERS_ENABLE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "perfcnt_enable"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SYSTEM_DIR_PATH: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "system_directory"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_START_SCREEN: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "rgui_show_start_screen"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_CONFIG_SAVE_ON_EXIT: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "config_save_on_exit"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_OPEN_FILEBROWSER: - snprintf(msg, sizeof(msg), - " -- Load Content. \n" - "Browse for content. \n" - " \n" - "To load content, you need a \n" - "libretro core to use, and a \n" - "content file. \n" - " \n" - "To control where the menu starts \n" - " to browse for content, set \n" - "Browser Directory. If not set, \n" - "it will start in root. \n" - " \n" - "The browser will filter out \n" - "extensions for the last core set \n" - "in 'Core', and use that core when \n" - "content is loaded." - ); - break; - case MENU_SETTINGS_PER_CORE_CONFIG: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "core_specific_config"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_WINDOW_SCALE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_scale"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_VSYNC: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_vsync"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_HARD_SYNC: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_hard_sync"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_HARD_SYNC_FRAMES: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_hard_sync_frames"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_BLACK_FRAME_INSERTION: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_black_frame_insertion"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_THREADED: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_threaded"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_INTEGER_SCALE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_scale_integer"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_CROP_OVERSCAN: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_crop_overscan"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_MONITOR_INDEX: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_monitor_index"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_ROTATION: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_rotation"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_AUDIO_CONTROL_RATE_DELTA: - snprintf(msg, sizeof(msg), - " -- Audio rate control.\n" - " \n" - "Setting this to 0 disables rate control.\n" - "Any other value controls audio rate control \n" - "delta.\n" - " \n" - "Defines how much input rate can be adjusted \n" - "dynamically.\n" - " \n" - " Input rate is defined as: \n" - " input rate * (1.0 +/- (rate control delta))"); - break; - case MENU_SETTINGS_AUDIO_VOLUME: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "audio_volume"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_SOFTFILTER: + switch (driver.menu->info_selection) + { + case MENU_SETTINGS_OPEN_FILEBROWSER: + snprintf(msg, sizeof(msg), + " -- Load Content. \n" + "Browse for content. \n" + " \n" + "To load content, you need a \n" + "libretro core to use, and a \n" + "content file. \n" + " \n" + "To control where the menu starts \n" + " to browse for content, set \n" + "Browser Directory. If not set, \n" + "it will start in root. \n" + " \n" + "The browser will filter out \n" + "extensions for the last core set \n" + "in 'Core', and use that core when \n" + "content is loaded." + ); + break; + case MENU_SETTINGS_AUDIO_CONTROL_RATE_DELTA: + snprintf(msg, sizeof(msg), + " -- Audio rate control.\n" + " \n" + "Setting this to 0 disables rate control.\n" + "Any other value controls audio rate control \n" + "delta.\n" + " \n" + "Defines how much input rate can be adjusted \n" + "dynamically.\n" + " \n" + " Input rate is defined as: \n" + " input rate * (1.0 +/- (rate control delta))"); + break; + case MENU_SETTINGS_VIDEO_SOFTFILTER: #ifdef HAVE_FILTERS_BUILTIN - snprintf(msg, sizeof(msg), - " -- CPU-based video filter."); + snprintf(msg, sizeof(msg), + " -- CPU-based video filter."); #else - snprintf(msg, sizeof(msg), - " -- CPU-based video filter.\n" - " \n" - "Path to a dynamic library."); + snprintf(msg, sizeof(msg), + " -- CPU-based video filter.\n" + " \n" + "Path to a dynamic library."); #endif - break; - case MENU_SETTINGS_BLOCK_SRAM_OVERWRITE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "block_sram_overwrite"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_PRIVACY_CAMERA_ALLOW: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "camera_allow"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_PRIVACY_LOCATION_ALLOW: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "location_allow"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_REWIND_ENABLE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "rewind_enable"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_REWIND_GRANULARITY: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "rewind_granularity"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_DEVICE_AUTODETECT_ENABLE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "input_autodetect_enable"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_INPUT_AXIS_THRESHOLD: - if ((current_setting = setting_data_find_setting(setting_data, "input_axis_threshold"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_CORE: - snprintf(msg, sizeof(msg), - " -- Core Selection. \n" - " \n" - "Browse for a libretro core \n" - "implementation. Where the browser \n" - "starts depends on your Core Directory \n" - "path. If blank, it will start in root. \n" - " \n" - "If Core Directory is a directory, the menu \n" - "will use that as top folder. If Core \n" - "Directory is a full path, it will start \n" - "in the folder where the file is."); - break; - case MENU_SETTINGS_OPEN_HISTORY: - snprintf(msg, sizeof(msg), - " -- Loading content from history. \n" - " \n" - "As content is loaded, content and libretro \n" - "core combinations are saved to history. \n" - " \n" - "The history is saved to a file in the same \n" - "directory as the RetroArch config file. If \n" - "no config file was loaded in startup, history \n" - "will not be saved or loaded, and will not exist \n" - "in the main menu." - ); - break; - case MENU_SETTINGS_SHADER_PRESET: - snprintf(msg, sizeof(msg), - " -- Load Shader Preset. \n" - " \n" - " Load a " + break; + case MENU_SETTINGS_CORE: + snprintf(msg, sizeof(msg), + " -- Core Selection. \n" + " \n" + "Browse for a libretro core \n" + "implementation. Where the browser \n" + "starts depends on your Core Directory \n" + "path. If blank, it will start in root. \n" + " \n" + "If Core Directory is a directory, the menu \n" + "will use that as top folder. If Core \n" + "Directory is a full path, it will start \n" + "in the folder where the file is."); + break; + case MENU_SETTINGS_OPEN_HISTORY: + snprintf(msg, sizeof(msg), + " -- Loading content from history. \n" + " \n" + "As content is loaded, content and libretro \n" + "core combinations are saved to history. \n" + " \n" + "The history is saved to a file in the same \n" + "directory as the RetroArch config file. If \n" + "no config file was loaded in startup, history \n" + "will not be saved or loaded, and will not exist \n" + "in the main menu." + ); + break; + case MENU_SETTINGS_SHADER_PRESET: + snprintf(msg, sizeof(msg), + " -- Load Shader Preset. \n" + " \n" + " Load a " #ifdef HAVE_CG - "Cg" + "Cg" #endif #ifdef HAVE_GLSL #ifdef HAVE_CG - "/" + "/" #endif - "GLSL" + "GLSL" #endif #ifdef HAVE_HLSL #if defined(HAVE_CG) || defined(HAVE_HLSL) - "/" + "/" #endif - "HLSL" + "HLSL" #endif - " preset directly. \n" - "The menu shader menu is updated accordingly. \n" - " \n" - "If the CGP uses scaling methods which are not \n" - "simple, (i.e. source scaling, same scaling \n" - "factor for X/Y), the scaling factor displayed \n" - "in the menu might not be correct." - ); - break; - case MENU_SETTINGS_SHADER_APPLY: - snprintf(msg, sizeof(msg), - " -- Apply Shader Changes. \n" - " \n" - "After changing shader settings, use this to \n" - "apply changes. \n" - " \n" - "Changing shader settings is a somewhat \n" - "expensive operation so it has to be \n" - "done explicitly. \n" - " \n" - "When you apply shaders, the menu shader \n" - "settings are saved to a temporary file (either \n" - "menu.cgp or menu.glslp) and loaded. The file \n" - "persists after RetroArch exits. The file is \n" - "saved to Shader Directory." - ); - break; - case MENU_SETTINGS_SHADER_PASSES: - snprintf(msg, sizeof(msg), - " -- Shader Passes. \n" - " \n" - "RetroArch allows you to mix and match various \n" - "shaders with arbitrary shader passes, with \n" - "custom hardware filters and scale factors. \n" - " \n" - "This option specifies the number of shader \n" - "passes to use. If you set this to 0, and use \n" - "Apply Shader Changes, you use a 'blank' shader. \n" - " \n" - "The Default Filter option will affect the \n" - "stretching filter."); - break; - case MENU_SETTINGS_BIND_DEVICE: - snprintf(msg, sizeof(msg), - " -- Input Device. \n" - " \n" - "Picks which gamepad to use for player N. \n" - "The name of the pad is available." - ); - break; - case MENU_SETTINGS_BIND_DEVICE_TYPE: - snprintf(msg, sizeof(msg), - " -- Input Device Type. \n" - " \n" - "Picks which device type to use. This is \n" - "relevant for the libretro core itself." - ); - break; - case MENU_SETTINGS_DRIVER_INPUT: - if (!strcmp(g_settings.input.driver, "udev")) - snprintf(msg, sizeof(msg), - " -- udev Input driver. \n" + " preset directly. \n" + "The menu shader menu is updated accordingly. \n" " \n" - "This driver can run without X. \n" - " \n" - "It uses the recent evdev joypad API \n" - "for joystick support. It supports \n" - "hotplugging and force feedback (if \n" - "supported by device). \n" - " \n" - "The driver reads evdev events for keyboard \n" - "support. It also supports keyboard callback, \n" - "mice and touchpads. \n" - " \n" - "By default in most distros, /dev/input nodes \n" - "are root-only (mode 600). You can set up a udev \n" - "rule which makes these accessible to non-root." + "If the CGP uses scaling methods which are not \n" + "simple, (i.e. source scaling, same scaling \n" + "factor for X/Y), the scaling factor displayed \n" + "in the menu might not be correct." ); - else if (!strcmp(g_settings.input.driver, "linuxraw")) + break; + case MENU_SETTINGS_SHADER_APPLY: snprintf(msg, sizeof(msg), - " -- linuxraw Input driver. \n" + " -- Apply Shader Changes. \n" " \n" - "This driver requires an active TTY. Keyboard \n" - "events are read directly from the TTY which \n" - "makes it simpler, but not as flexible as udev. \n" - "Mice, etc, are not supported at all. \n" + "After changing shader settings, use this to \n" + "apply changes. \n" " \n" - "This driver uses the older joystick API \n" - "(/dev/input/js*)."); - else + "Changing shader settings is a somewhat \n" + "expensive operation so it has to be \n" + "done explicitly. \n" + " \n" + "When you apply shaders, the menu shader \n" + "settings are saved to a temporary file (either \n" + "menu.cgp or menu.glslp) and loaded. The file \n" + "persists after RetroArch exits. The file is \n" + "saved to Shader Directory." + ); + break; + case MENU_SETTINGS_SHADER_PASSES: snprintf(msg, sizeof(msg), - " -- Input driver.\n" + " -- Shader Passes. \n" " \n" - "Depending on video driver, it might \n" - "force a different input driver."); - break; - case MENU_SETTINGS_AUDIO_DSP_FILTER: - snprintf(msg, sizeof(msg), - " -- Audio DSP plugin.\n" - " Processes audio before it's sent to \n" - "the driver." + "RetroArch allows you to mix and match various \n" + "shaders with arbitrary shader passes, with \n" + "custom hardware filters and scale factors. \n" + " \n" + "This option specifies the number of shader \n" + "passes to use. If you set this to 0, and use \n" + "Apply Shader Changes, you use a 'blank' shader. \n" + " \n" + "The Default Filter option will affect the \n" + "stretching filter."); + break; + case MENU_SETTINGS_BIND_DEVICE: + snprintf(msg, sizeof(msg), + " -- Input Device. \n" + " \n" + "Picks which gamepad to use for player N. \n" + "The name of the pad is available." + ); + break; + case MENU_SETTINGS_BIND_DEVICE_TYPE: + snprintf(msg, sizeof(msg), + " -- Input Device Type. \n" + " \n" + "Picks which device type to use. This is \n" + "relevant for the libretro core itself." + ); + break; + case MENU_SETTINGS_DRIVER_INPUT: + if (!strcmp(g_settings.input.driver, "udev")) + snprintf(msg, sizeof(msg), + " -- udev Input driver. \n" + " \n" + "This driver can run without X. \n" + " \n" + "It uses the recent evdev joypad API \n" + "for joystick support. It supports \n" + "hotplugging and force feedback (if \n" + "supported by device). \n" + " \n" + "The driver reads evdev events for keyboard \n" + "support. It also supports keyboard callback, \n" + "mice and touchpads. \n" + " \n" + "By default in most distros, /dev/input nodes \n" + "are root-only (mode 600). You can set up a udev \n" + "rule which makes these accessible to non-root." + ); + else if (!strcmp(g_settings.input.driver, "linuxraw")) + snprintf(msg, sizeof(msg), + " -- linuxraw Input driver. \n" + " \n" + "This driver requires an active TTY. Keyboard \n" + "events are read directly from the TTY which \n" + "makes it simpler, but not as flexible as udev. \n" + "Mice, etc, are not supported at all. \n" + " \n" + "This driver uses the older joystick API \n" + "(/dev/input/js*)."); + else + snprintf(msg, sizeof(msg), + " -- Input driver.\n" + " \n" + "Depending on video driver, it might \n" + "force a different input driver."); + break; + case MENU_SETTINGS_AUDIO_DSP_FILTER: + snprintf(msg, sizeof(msg), + " -- Audio DSP plugin.\n" + " Processes audio before it's sent to \n" + "the driver." #ifndef HAVE_FILTERS_BUILTIN - " \n" - "Path to a dynamic library." + " \n" + "Path to a dynamic library." #endif - ); - break; - case MENU_SETTINGS_TOGGLE_FULLSCREEN: - snprintf(msg, sizeof(msg), - " -- Toggles fullscreen."); - break; - case MENU_SETTINGS_SLOWMOTION_RATIO: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "slowmotion_ratio"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_FASTFORWARD_RATIO: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "fastforward_ratio"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_PAUSE_IF_WINDOW_FOCUS_LOST: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "pause_nonactive"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_GPU_SCREENSHOT: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_gpu_screenshot"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_SRAM_AUTOSAVE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "autosave_interval"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SCREENSHOT_DIR_PATH: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "screenshot_directory"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_DRIVER_AUDIO_DEVICE: - snprintf(msg, sizeof(msg), - " -- Override the default audio device \n" - "the audio driver uses.\n" - "This is driver dependent. E.g.\n" + ); + break; + case MENU_SETTINGS_TOGGLE_FULLSCREEN: + snprintf(msg, sizeof(msg), + " -- Toggles fullscreen."); + break; + case MENU_SETTINGS_DRIVER_AUDIO_DEVICE: + snprintf(msg, sizeof(msg), + " -- Override the default audio device \n" + "the audio driver uses.\n" + "This is driver dependent. E.g.\n" #ifdef HAVE_ALSA - " \n" - "ALSA wants a PCM device." + " \n" + "ALSA wants a PCM device." #endif #ifdef HAVE_OSS - " \n" - "OSS wants a path (e.g. /dev/dsp)." + " \n" + "OSS wants a path (e.g. /dev/dsp)." #endif #ifdef HAVE_JACK - " \n" - "JACK wants portnames (e.g. system:playback1\n" - ",system:playback_2)." + " \n" + "JACK wants portnames (e.g. system:playback1\n" + ",system:playback_2)." #endif #ifdef HAVE_RSOUND - " \n" - "RSound wants an IP address to an RSound \n" - "server." + " \n" + "RSound wants an IP address to an RSound \n" + "server." #endif - ); - break; - case MENU_ASSETS_DIR_PATH: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "assets_directory"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_SAVESTATE_AUTO_SAVE: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "savestate_auto_save"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_SWAP_INTERVAL: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_swap_interval"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_VIDEO_REFRESH_RATE_AUTO: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "video_refresh_rate_auto"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_LIBRETRO_DIR_PATH: - snprintf(msg, sizeof(msg), - " -- Core Directory. \n" - " \n" - "A directory for where to search for \n" - "libretro core implementations."); - break; - case MENU_SAVEFILE_DIR_PATH: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "savefile_directory"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SAVESTATE_DIR_PATH: - if ((current_setting = (rarch_setting_t*)setting_data_find_setting(setting_data, "savestate_directory"))) - setting_data_get_description(current_setting, msg, sizeof(msg)); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_PLUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_MINUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_Y_PLUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_Y_MINUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_X_PLUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_X_MINUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_Y_PLUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_Y_MINUS: - snprintf(msg, sizeof(msg), - " -- Axis for analog stick (DualShock-esque).\n" - " \n" - "Bound as usual, however, if a real analog \n" - "axis is bound, it can be read as a true analog.\n" - " \n" - "Positive X axis is right. \n" - "Positive Y axis is down."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_SHADER_NEXT: - snprintf(msg, sizeof(msg), - " -- Applies next shader in directory."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_SHADER_PREV: - snprintf(msg, sizeof(msg), - " -- Applies previous shader in directory."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_LOAD_STATE_KEY: - snprintf(msg, sizeof(msg), - " -- Loads state."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_SAVE_STATE_KEY: - snprintf(msg, sizeof(msg), - " -- Saves state."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_STATE_SLOT_PLUS: - case MENU_SETTINGS_BIND_BEGIN + RARCH_STATE_SLOT_MINUS: - snprintf(msg, sizeof(msg), - " -- State slots.\n" - " \n" - " With slot set to 0, save state name is *.state \n" - " (or whatever defined on commandline).\n" - "When slot is != 0, path will be (path)(d), \n" - "where (d) is slot number."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_TURBO_ENABLE: - snprintf(msg, sizeof(msg), - " -- Turbo enable.\n" - " \n" - "Holding the turbo while pressing another \n" - "button will let the button enter a turbo \n" - "mode where the button state is modulated \n" - "with a periodic signal. \n" - " \n" - "The modulation stops when the button \n" - "itself (not turbo button) is released."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_FAST_FORWARD_HOLD_KEY: - snprintf(msg, sizeof(msg), - " -- Hold for fast-forward. Releasing button \n" - "disables fast-forward."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_QUIT_KEY: - snprintf(msg, sizeof(msg), - " -- Key to exit RetroArch cleanly." + ); + break; + case MENU_LIBRETRO_DIR_PATH: + snprintf(msg, sizeof(msg), + " -- Core Directory. \n" + " \n" + "A directory for where to search for \n" + "libretro core implementations."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_PLUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_X_MINUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_Y_PLUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_LEFT_Y_MINUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_X_PLUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_X_MINUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_Y_PLUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_ANALOG_RIGHT_Y_MINUS: + snprintf(msg, sizeof(msg), + " -- Axis for analog stick (DualShock-esque).\n" + " \n" + "Bound as usual, however, if a real analog \n" + "axis is bound, it can be read as a true analog.\n" + " \n" + "Positive X axis is right. \n" + "Positive Y axis is down."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_SHADER_NEXT: + snprintf(msg, sizeof(msg), + " -- Applies next shader in directory."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_SHADER_PREV: + snprintf(msg, sizeof(msg), + " -- Applies previous shader in directory."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_LOAD_STATE_KEY: + snprintf(msg, sizeof(msg), + " -- Loads state."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_SAVE_STATE_KEY: + snprintf(msg, sizeof(msg), + " -- Saves state."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_STATE_SLOT_PLUS: + case MENU_SETTINGS_BIND_BEGIN + RARCH_STATE_SLOT_MINUS: + snprintf(msg, sizeof(msg), + " -- State slots.\n" + " \n" + " With slot set to 0, save state name is *.state \n" + " (or whatever defined on commandline).\n" + "When slot is != 0, path will be (path)(d), \n" + "where (d) is slot number."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_TURBO_ENABLE: + snprintf(msg, sizeof(msg), + " -- Turbo enable.\n" + " \n" + "Holding the turbo while pressing another \n" + "button will let the button enter a turbo \n" + "mode where the button state is modulated \n" + "with a periodic signal. \n" + " \n" + "The modulation stops when the button \n" + "itself (not turbo button) is released."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_FAST_FORWARD_HOLD_KEY: + snprintf(msg, sizeof(msg), + " -- Hold for fast-forward. Releasing button \n" + "disables fast-forward."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_QUIT_KEY: + snprintf(msg, sizeof(msg), + " -- Key to exit RetroArch cleanly." #if !defined(RARCH_MOBILE) && !defined(RARCH_CONSOLE) - "\nKilling it in any hard way (SIGKILL, \n" - "etc) will terminate without saving\n" - "RAM, etc. On Unix-likes,\n" - "SIGINT/SIGTERM allows\n" - "a clean deinitialization." + "\nKilling it in any hard way (SIGKILL, \n" + "etc) will terminate without saving\n" + "RAM, etc. On Unix-likes,\n" + "SIGINT/SIGTERM allows\n" + "a clean deinitialization." #endif - ); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_REWIND: - snprintf(msg, sizeof(msg), - " -- Hold button down to rewind.\n" - " \n" - "Rewind must be enabled."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_MOVIE_RECORD_TOGGLE: - snprintf(msg, sizeof(msg), - " -- Toggle between recording and not."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_PAUSE_TOGGLE: - snprintf(msg, sizeof(msg), - " -- Toggle between paused and non-paused state."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_FRAMEADVANCE: - snprintf(msg, sizeof(msg), - " -- Frame advance when content is paused."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_RESET: - snprintf(msg, sizeof(msg), - " -- Reset the content.\n"); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_CHEAT_INDEX_PLUS: - snprintf(msg, sizeof(msg), - " -- Increment cheat index.\n"); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_CHEAT_INDEX_MINUS: - snprintf(msg, sizeof(msg), - " -- Decrement cheat index.\n"); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_CHEAT_TOGGLE: - snprintf(msg, sizeof(msg), - " -- Toggle cheat index.\n"); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_SCREENSHOT: - snprintf(msg, sizeof(msg), - " -- Take screenshot."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_MUTE: - snprintf(msg, sizeof(msg), - " -- Mute/unmute audio."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_NETPLAY_FLIP: - snprintf(msg, sizeof(msg), - " -- Netplay flip players."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_SLOWMOTION: - snprintf(msg, sizeof(msg), - " -- Hold for slowmotion."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_ENABLE_HOTKEY: - snprintf(msg, sizeof(msg), - " -- Enable other hotkeys.\n" - " \n" - " If this hotkey is bound to either keyboard, \n" - "joybutton or joyaxis, all other hotkeys will \n" - "be disabled unless this hotkey is also held \n" - "at the same time. \n" - " \n" - "This is useful for RETRO_KEYBOARD centric \n" - "implementations which query a large area of \n" - "the keyboard, where it is not desirable that \n" - "hotkeys get in the way."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_VOLUME_UP: - snprintf(msg, sizeof(msg), - " -- Increases audio volume."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_VOLUME_DOWN: - snprintf(msg, sizeof(msg), - " -- Decreases audio volume."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_OVERLAY_NEXT: - snprintf(msg, sizeof(msg), - " -- Toggles to next overlay.\n" - " \n" - "Wraps around."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_DISK_EJECT_TOGGLE: - snprintf(msg, sizeof(msg), - " -- Toggles eject for disks.\n" - " \n" - "Used for multiple-disk content."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_DISK_NEXT: - snprintf(msg, sizeof(msg), - " -- Cycles through disk images. Use after \n" - "ejecting. \n" - " \n" - " Complete by toggling eject again."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_GRAB_MOUSE_TOGGLE: - snprintf(msg, sizeof(msg), - " -- Toggles mouse grab.\n" - " \n" - "When mouse is grabbed, RetroArch hides the \n" - "mouse, and keeps the mouse pointer inside \n" - "the window to allow relative mouse input to \n" - "work better."); - break; - case MENU_SETTINGS_BIND_BEGIN + RARCH_MENU_TOGGLE: - snprintf(msg, sizeof(msg), - " -- Toggles menu."); - break; - case MENU_SETTINGS_DRIVER_VIDEO: - if (!strcmp(g_settings.video.driver, "gl")) + ); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_REWIND: snprintf(msg, sizeof(msg), - " -- OpenGL Video driver. \n" + " -- Hold button down to rewind.\n" " \n" - "This driver allows libretro GL cores to \n" - "be used in addition to software-rendered \n" - "core implementations.\n" - " \n" - "Performance for software-rendered and \n" - "libretro GL core implementations is \n" - "dependent on your graphics card's \n" - "underlying GL driver)."); - else if (!strcmp(g_settings.video.driver, "sdl2")) + "Rewind must be enabled."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_MOVIE_RECORD_TOGGLE: snprintf(msg, sizeof(msg), - " -- SDL 2 Video driver.\n" - " \n" - "This is an SDL 2 software-rendered video \n" - "driver.\n" - " \n" - "Performance for software-rendered libretro \n" - "core implementations is dependent \n" - "on your platform SDL implementation."); - else if (!strcmp(g_settings.video.driver, "sdl")) + " -- Toggle between recording and not."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_PAUSE_TOGGLE: snprintf(msg, sizeof(msg), - " -- SDL Video driver.\n" - " \n" - "This is an SDL 1.2 software-rendered video \n" - "driver.\n" - " \n" - "Performance is considered to be suboptimal. \n" - "Consider using it only as a last resort."); - else if (!strcmp(g_settings.video.driver, "d3d")) + " -- Toggle between paused and non-paused state."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_FRAMEADVANCE: snprintf(msg, sizeof(msg), - " -- Direct3D Video driver. \n" + " -- Frame advance when content is paused."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_RESET: + snprintf(msg, sizeof(msg), + " -- Reset the content.\n"); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_CHEAT_INDEX_PLUS: + snprintf(msg, sizeof(msg), + " -- Increment cheat index.\n"); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_CHEAT_INDEX_MINUS: + snprintf(msg, sizeof(msg), + " -- Decrement cheat index.\n"); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_CHEAT_TOGGLE: + snprintf(msg, sizeof(msg), + " -- Toggle cheat index.\n"); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_SCREENSHOT: + snprintf(msg, sizeof(msg), + " -- Take screenshot."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_MUTE: + snprintf(msg, sizeof(msg), + " -- Mute/unmute audio."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_NETPLAY_FLIP: + snprintf(msg, sizeof(msg), + " -- Netplay flip players."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_SLOWMOTION: + snprintf(msg, sizeof(msg), + " -- Hold for slowmotion."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_ENABLE_HOTKEY: + snprintf(msg, sizeof(msg), + " -- Enable other hotkeys.\n" " \n" - "Performance for software-rendered cores \n" - "is dependent on your graphic card's \n" - "underlying D3D driver)."); - else if (!strcmp(g_settings.video.driver, "exynos")) - snprintf(msg, sizeof(msg), - " -- Exynos-G2D Video Driver. \n" + " If this hotkey is bound to either keyboard, \n" + "joybutton or joyaxis, all other hotkeys will \n" + "be disabled unless this hotkey is also held \n" + "at the same time. \n" " \n" - "This is a low-level Exynos video driver. \n" - "Uses the G2D block in Samsung Exynos SoC \n" - "for blit operations. \n" + "This is useful for RETRO_KEYBOARD centric \n" + "implementations which query a large area of \n" + "the keyboard, where it is not desirable that \n" + "hotkeys get in the way."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_VOLUME_UP: + snprintf(msg, sizeof(msg), + " -- Increases audio volume."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_VOLUME_DOWN: + snprintf(msg, sizeof(msg), + " -- Decreases audio volume."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_OVERLAY_NEXT: + snprintf(msg, sizeof(msg), + " -- Toggles to next overlay.\n" " \n" - "Performance for software rendered cores \n" - "should be optimal."); - else + "Wraps around."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_DISK_EJECT_TOGGLE: snprintf(msg, sizeof(msg), - " -- Current Video driver."); - break; - case MENU_SETTINGS_DRIVER_AUDIO_RESAMPLER: - if (!strcmp(g_settings.audio.resampler, "sinc")) + " -- Toggles eject for disks.\n" + " \n" + "Used for multiple-disk content."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_DISK_NEXT: snprintf(msg, sizeof(msg), - " -- Windowed SINC implementation."); - else if (!strcmp(g_settings.audio.resampler, "CC")) + " -- Cycles through disk images. Use after \n" + "ejecting. \n" + " \n" + " Complete by toggling eject again."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_GRAB_MOUSE_TOGGLE: snprintf(msg, sizeof(msg), - " -- Convoluted Cosine implementation."); - break; - case MENU_SETTINGS_SHADER_0_FILTER + (0 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (1 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (2 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (3 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (4 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (5 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (6 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (7 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (8 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (9 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (10 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (11 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (12 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (13 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (14 * 3): - case MENU_SETTINGS_SHADER_0_FILTER + (15 * 3): - snprintf(msg, sizeof(msg), - " -- Hardware filter for this pass. \n" - " \n" - "If 'Don't Care' is set, 'Default \n" - "Filter' will be used." - ); - break; - case MENU_SETTINGS_SHADER_0 + (0 * 3): - case MENU_SETTINGS_SHADER_0 + (1 * 3): - case MENU_SETTINGS_SHADER_0 + (2 * 3): - case MENU_SETTINGS_SHADER_0 + (3 * 3): - case MENU_SETTINGS_SHADER_0 + (4 * 3): - case MENU_SETTINGS_SHADER_0 + (5 * 3): - case MENU_SETTINGS_SHADER_0 + (6 * 3): - case MENU_SETTINGS_SHADER_0 + (7 * 3): - case MENU_SETTINGS_SHADER_0 + (8 * 3): - case MENU_SETTINGS_SHADER_0 + (9 * 3): - case MENU_SETTINGS_SHADER_0 + (10 * 3): - case MENU_SETTINGS_SHADER_0 + (11 * 3): - case MENU_SETTINGS_SHADER_0 + (12 * 3): - case MENU_SETTINGS_SHADER_0 + (13 * 3): - case MENU_SETTINGS_SHADER_0 + (14 * 3): - case MENU_SETTINGS_SHADER_0 + (15 * 3): - snprintf(msg, sizeof(msg), - " -- Path to shader. \n" - " \n" - "All shaders must be of the same \n" - "type (i.e. CG, GLSL or HLSL). \n" - " \n" - "Set Shader Directory to set where \n" - "the browser starts to look for \n" - "shaders." - ); - break; - case MENU_SETTINGS_SHADER_0_SCALE + (0 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (1 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (2 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (3 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (4 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (5 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (6 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (7 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (8 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (9 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (10 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (11 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (12 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (13 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (14 * 3): - case MENU_SETTINGS_SHADER_0_SCALE + (15 * 3): - snprintf(msg, sizeof(msg), - " -- Scale for this pass. \n" - " \n" - "The scale factor accumulates, i.e. 2x \n" - "for first pass and 2x for second pass \n" - "will give you a 4x total scale. \n" - " \n" - "If there is a scale factor for last \n" - "pass, the result is stretched to \n" - "screen with the filter specified in \n" - "'Default Filter'. \n" - " \n" - "If 'Don't Care' is set, either 1x \n" - "scale or stretch to fullscreen will \n" - "be used depending if it's not the last \n" - "pass or not." - ); - break; - default: - snprintf(msg, sizeof(msg), - "-- No info on this item available. --\n"); + " -- Toggles mouse grab.\n" + " \n" + "When mouse is grabbed, RetroArch hides the \n" + "mouse, and keeps the mouse pointer inside \n" + "the window to allow relative mouse input to \n" + "work better."); + break; + case MENU_SETTINGS_BIND_BEGIN + RARCH_MENU_TOGGLE: + snprintf(msg, sizeof(msg), + " -- Toggles menu."); + break; + case MENU_SETTINGS_DRIVER_VIDEO: + if (!strcmp(g_settings.video.driver, "gl")) + snprintf(msg, sizeof(msg), + " -- OpenGL Video driver. \n" + " \n" + "This driver allows libretro GL cores to \n" + "be used in addition to software-rendered \n" + "core implementations.\n" + " \n" + "Performance for software-rendered and \n" + "libretro GL core implementations is \n" + "dependent on your graphics card's \n" + "underlying GL driver)."); + else if (!strcmp(g_settings.video.driver, "sdl2")) + snprintf(msg, sizeof(msg), + " -- SDL 2 Video driver.\n" + " \n" + "This is an SDL 2 software-rendered video \n" + "driver.\n" + " \n" + "Performance for software-rendered libretro \n" + "core implementations is dependent \n" + "on your platform SDL implementation."); + else if (!strcmp(g_settings.video.driver, "sdl")) + snprintf(msg, sizeof(msg), + " -- SDL Video driver.\n" + " \n" + "This is an SDL 1.2 software-rendered video \n" + "driver.\n" + " \n" + "Performance is considered to be suboptimal. \n" + "Consider using it only as a last resort."); + else if (!strcmp(g_settings.video.driver, "d3d")) + snprintf(msg, sizeof(msg), + " -- Direct3D Video driver. \n" + " \n" + "Performance for software-rendered cores \n" + "is dependent on your graphic card's \n" + "underlying D3D driver)."); + else if (!strcmp(g_settings.video.driver, "exynos")) + snprintf(msg, sizeof(msg), + " -- Exynos-G2D Video Driver. \n" + " \n" + "This is a low-level Exynos video driver. \n" + "Uses the G2D block in Samsung Exynos SoC \n" + "for blit operations. \n" + " \n" + "Performance for software rendered cores \n" + "should be optimal."); + else + snprintf(msg, sizeof(msg), + " -- Current Video driver."); + break; + case MENU_SETTINGS_DRIVER_AUDIO_RESAMPLER: + if (!strcmp(g_settings.audio.resampler, "sinc")) + snprintf(msg, sizeof(msg), + " -- Windowed SINC implementation."); + else if (!strcmp(g_settings.audio.resampler, "CC")) + snprintf(msg, sizeof(msg), + " -- Convoluted Cosine implementation."); + break; + case MENU_SETTINGS_SHADER_0_FILTER + (0 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (1 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (2 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (3 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (4 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (5 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (6 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (7 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (8 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (9 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (10 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (11 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (12 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (13 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (14 * 3): + case MENU_SETTINGS_SHADER_0_FILTER + (15 * 3): + snprintf(msg, sizeof(msg), + " -- Hardware filter for this pass. \n" + " \n" + "If 'Don't Care' is set, 'Default \n" + "Filter' will be used." + ); + break; + case MENU_SETTINGS_SHADER_0 + (0 * 3): + case MENU_SETTINGS_SHADER_0 + (1 * 3): + case MENU_SETTINGS_SHADER_0 + (2 * 3): + case MENU_SETTINGS_SHADER_0 + (3 * 3): + case MENU_SETTINGS_SHADER_0 + (4 * 3): + case MENU_SETTINGS_SHADER_0 + (5 * 3): + case MENU_SETTINGS_SHADER_0 + (6 * 3): + case MENU_SETTINGS_SHADER_0 + (7 * 3): + case MENU_SETTINGS_SHADER_0 + (8 * 3): + case MENU_SETTINGS_SHADER_0 + (9 * 3): + case MENU_SETTINGS_SHADER_0 + (10 * 3): + case MENU_SETTINGS_SHADER_0 + (11 * 3): + case MENU_SETTINGS_SHADER_0 + (12 * 3): + case MENU_SETTINGS_SHADER_0 + (13 * 3): + case MENU_SETTINGS_SHADER_0 + (14 * 3): + case MENU_SETTINGS_SHADER_0 + (15 * 3): + snprintf(msg, sizeof(msg), + " -- Path to shader. \n" + " \n" + "All shaders must be of the same \n" + "type (i.e. CG, GLSL or HLSL). \n" + " \n" + "Set Shader Directory to set where \n" + "the browser starts to look for \n" + "shaders." + ); + break; + case MENU_SETTINGS_SHADER_0_SCALE + (0 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (1 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (2 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (3 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (4 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (5 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (6 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (7 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (8 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (9 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (10 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (11 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (12 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (13 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (14 * 3): + case MENU_SETTINGS_SHADER_0_SCALE + (15 * 3): + snprintf(msg, sizeof(msg), + " -- Scale for this pass. \n" + " \n" + "The scale factor accumulates, i.e. 2x \n" + "for first pass and 2x for second pass \n" + "will give you a 4x total scale. \n" + " \n" + "If there is a scale factor for last \n" + "pass, the result is stretched to \n" + "screen with the filter specified in \n" + "'Default Filter'. \n" + " \n" + "If 'Don't Care' is set, either 1x \n" + "scale or stretch to fullscreen will \n" + "be used depending if it's not the last \n" + "pass or not." + ); + break; + default: + snprintf(msg, sizeof(msg), + "-- No info on this item available. --\n"); + } } if (driver.video_data && driver.menu_ctx && driver.menu_ctx->render_messagebox) diff --git a/settings_data.c b/settings_data.c index d238ca6dc6..71a66263e1 100644 --- a/settings_data.c +++ b/settings_data.c @@ -774,6 +774,9 @@ void setting_data_get_description(const void *data, char *msg, size_t sizeof_msg "RetroArch will automatically load any savestate\n" "with this path on startup if 'Savestate Auto\n" "Load' is set."); + else + snprintf(msg, sizeof_msg, + "-- No info on this item is available. --\n"); } static void general_read_handler(const void *data)