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; }
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; }
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; }
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; }
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; }
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; }