static int action_toggle_cheat_num_passes(unsigned type, const char *label,
      unsigned action)
{
   unsigned new_size = 0;
   cheat_manager_t *cheat = g_extern.cheat;
   menu_handle_t *menu = menu_driver_resolve();
   if (!menu)
      return -1;

   if (!cheat)
      return -1;

   switch (action)
   {
      case MENU_ACTION_LEFT:
         if (cheat->size)
            new_size = cheat->size - 1;
         menu->need_refresh = true;
         break;

      case MENU_ACTION_RIGHT:
         new_size = cheat->size + 1;
         menu->need_refresh = true;
         break;
   }

   if (menu->need_refresh)
      cheat_manager_realloc(cheat, new_size);

   return 0;
}
示例#2
0
static int action_start_cheat_num_passes(unsigned type, const char *label)
{
   if (cheat_manager_get_size())
   {
      bool refresh                = false;
      menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
      cheat_manager_realloc(0);
   }

   return 0;
}
示例#3
0
static int action_right_cheat_num_passes(unsigned type, const char *label,
      bool wraparound)
{
   bool refresh      = false;
   unsigned new_size = 0;

   new_size = cheat_manager_get_size() + 1;
   menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
   menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);
   cheat_manager_realloc(new_size);

   return 0;
}
示例#4
0
static int action_start_cheat_num_passes(unsigned type, const char *label)
{
   global_t *global       = global_get_ptr();
   cheat_manager_t *cheat = global->cheat;

   if (!cheat)
      return -1;

   if (cheat->size)
   {
      menu_entries_set_refresh(false);
      cheat_manager_realloc(cheat, 0);
   }

   return 0;
}
示例#5
0
static int action_right_cheat_num_passes(unsigned type, const char *label,
      bool wraparound)
{
   unsigned new_size = 0;
   global_t *global       = global_get_ptr();
   cheat_manager_t *cheat = global->cheat;

   if (!cheat)
      return -1;

   new_size = cheat->size + 1;
   menu_entries_set_refresh();
   cheat_manager_realloc(cheat, new_size);

   return 0;
}
示例#6
0
static int action_left_cheat_num_passes(unsigned type, const char *label,
      bool wraparound)
{
   unsigned new_size = 0;
   global_t *global       = global_get_ptr();
   menu_handle_t *menu    = menu_driver_get_ptr();
   cheat_manager_t *cheat = global->cheat;

   if (!cheat)
      return -1;

   if (cheat_manager_get_size(cheat))
      new_size = cheat_manager_get_size(cheat) - 1;
   menu_entries_set_refresh(false);
   menu->prevent_populate = true;
   cheat_manager_realloc(cheat, new_size);

   return 0;
}
static int action_start_cheat_num_passes(unsigned type, const char *label,
      unsigned action)
{
   global_t *global       = global_get_ptr();
   cheat_manager_t *cheat = global->cheat;
   menu_handle_t *menu    = menu_driver_get_ptr();
   if (!menu)
      return -1;

   if (!cheat)
      return -1;

   if (cheat->size)
   {
      cheat_manager_realloc(cheat, 0);
      menu->need_refresh = true;
   }

   return 0;
}
static int action_right_cheat_delete_all(unsigned type, const char *label,
      bool wraparound)
{
   bool refresh = false ;
   char msg[256];

   if ( ++cheat_manager_state.delete_state >= 5 )
   {
      msg[0] = '\0';
      cheat_manager_state.delete_state = 0 ;
      cheat_manager_realloc(0, CHEAT_HANDLER_TYPE_EMU) ;
      menu_entries_ctl(MENU_ENTRIES_CTL_SET_REFRESH, &refresh);
      menu_driver_ctl(RARCH_MENU_CTL_SET_PREVENT_POPULATE, NULL);

      strlcpy(msg,
            msg_hash_to_str(MSG_CHEAT_DELETE_ALL_SUCCESS), sizeof(msg));
      msg[sizeof(msg) - 1] = 0;

      runloop_msg_queue_push(msg, 1, 180, true);
   }

   return 0;
}