示例#1
0
static int menu_cbs_init_bind_start_compare_label(menu_file_list_cbs_t *cbs,
      uint32_t hash)
{
   switch (hash)
   {
      case MENU_LABEL_REMAP_FILE_LOAD:
         BIND_ACTION_START(cbs, action_start_remap_file_load);
         break;
      case MENU_LABEL_VIDEO_FILTER:
         BIND_ACTION_START(cbs, action_start_video_filter_file_load);
         break;
      case MENU_LABEL_VIDEO_SHADER_PASS:
         BIND_ACTION_START(cbs, action_start_shader_pass);
         break;
      case MENU_LABEL_VIDEO_SHADER_SCALE_PASS:
         BIND_ACTION_START(cbs, action_start_shader_scale_pass);
         break;
      case MENU_LABEL_VIDEO_SHADER_FILTER_PASS:
         BIND_ACTION_START(cbs, action_start_shader_filter_pass);
         break;
      case MENU_LABEL_VIDEO_SHADER_NUM_PASSES:
         BIND_ACTION_START(cbs, action_start_shader_num_passes);
         break;
      case MENU_LABEL_CHEAT_NUM_PASSES:
         BIND_ACTION_START(cbs, action_start_cheat_num_passes);
         break;
      case MENU_LABEL_SCREEN_RESOLUTION:
         BIND_ACTION_START(cbs, action_start_video_resolution);
      default:
         return -1;
   }

   return 0;
}
示例#2
0
static int menu_cbs_init_bind_start_compare_label(menu_file_list_cbs_t *cbs)
{
   if (cbs->enum_idx != MSG_UNKNOWN)
   {
      switch (cbs->enum_idx)
      {
         case MENU_ENUM_LABEL_REMAP_FILE_LOAD:
            BIND_ACTION_START(cbs, action_start_remap_file_load);
            break;
         case MENU_ENUM_LABEL_VIDEO_FILTER:
            BIND_ACTION_START(cbs, action_start_video_filter_file_load);
            break;
         case MENU_ENUM_LABEL_VIDEO_SHADER_PASS:
            BIND_ACTION_START(cbs, action_start_shader_pass);
            break;
         case MENU_ENUM_LABEL_VIDEO_SHADER_SCALE_PASS:
            BIND_ACTION_START(cbs, action_start_shader_scale_pass);
            break;
         case MENU_ENUM_LABEL_VIDEO_SHADER_FILTER_PASS:
            BIND_ACTION_START(cbs, action_start_shader_filter_pass);
            break;
         case MENU_ENUM_LABEL_SHADER_WATCH_FOR_CHANGES:
            BIND_ACTION_START(cbs, action_start_shader_watch_for_changes);
            break;
         case MENU_ENUM_LABEL_VIDEO_SHADER_NUM_PASSES:
            BIND_ACTION_START(cbs, action_start_shader_num_passes);
            break;
         case MENU_ENUM_LABEL_CHEAT_NUM_PASSES:
            BIND_ACTION_START(cbs, action_start_cheat_num_passes);
            break;
         case MENU_ENUM_LABEL_SCREEN_RESOLUTION:
            BIND_ACTION_START(cbs, action_start_video_resolution);
            break;
         case MENU_ENUM_LABEL_NETPLAY_MITM_SERVER:
            BIND_ACTION_START(cbs, action_start_netplay_mitm_server);
            break;
         default:
            return -1;
      }
   }

   return 0;
}
示例#3
0
static int menu_cbs_init_bind_start_compare_type(menu_file_list_cbs_t *cbs,
      unsigned type)
{
   if (type >= MENU_SETTINGS_SHADER_PARAMETER_0
         && type <= MENU_SETTINGS_SHADER_PARAMETER_LAST)
   {
      BIND_ACTION_START(cbs, action_start_shader_action_parameter);
   }
   else if (type >= MENU_SETTINGS_SHADER_PRESET_PARAMETER_0
         && type <= MENU_SETTINGS_SHADER_PRESET_PARAMETER_LAST)
   {
      BIND_ACTION_START(cbs, action_start_shader_action_preset_parameter);
   }
   else if (type >= MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_BEGIN &&
         type <= MENU_SETTINGS_LIBRETRO_PERF_COUNTERS_END)
   {
      BIND_ACTION_START(cbs, action_start_performance_counters_core);
   }
   else if (type >= MENU_SETTINGS_INPUT_DESC_BEGIN
         && type <= MENU_SETTINGS_INPUT_DESC_END)
   {
      BIND_ACTION_START(cbs, action_start_input_desc);
   }
   else if (type >= MENU_SETTINGS_PERF_COUNTERS_BEGIN &&
         type <= MENU_SETTINGS_PERF_COUNTERS_END)
   {
      BIND_ACTION_START(cbs, action_start_performance_counters_frontend);
   }
   else if ((type >= MENU_SETTINGS_PLAYLIST_ASSOCIATION_START))
   {
      BIND_ACTION_START(cbs, action_start_playlist_association);
   }
   else if ((type >= MENU_SETTINGS_CORE_OPTION_START))
   {
      BIND_ACTION_START(cbs, action_start_core_setting);
   }
   else if (type == MENU_LABEL_SCREEN_RESOLUTION)
   {
      BIND_ACTION_START(cbs, action_start_video_resolution);
   }
   else
      return -1;

   return 0;
}
示例#4
0
int menu_cbs_init_bind_start(menu_file_list_cbs_t *cbs,
      const char *path, const char *label, unsigned type, size_t idx)
{
   if (!cbs)
      return -1;

   BIND_ACTION_START(cbs, action_start_lookup_setting);

   if (menu_cbs_init_bind_start_compare_label(cbs) == 0)
      return 0;

   if (menu_cbs_init_bind_start_compare_type(cbs, type) == 0)
      return 0;

   return -1;
}