// this function will be called when the state of cheat item changed
void onCheatItemChanged(int id, int enable)
{
	if (current_menu == BASE && id == 0)
		activate_menu();
	else
		change_state(get_real_id(id));
}
Esempio n. 2
0
void menupage_display_line(menupage_t *page, const int line) {
	int  i = 0;
	char message[LP_MAX_WORD] = "";

	int item_id = line + page->current_posn - page->current_line;

	menuitem_t *item = get_item(page, item_id);

	if (item) {
		if (page->ordering && item_grabbed && get_item_id(page, item_id) == get_item_id(page, page->current_posn))
			message[i++] = '>';
		else if (page->highlight && page->highlighted_item == get_real_id(page, item_id))
			message[i++] = '*';
		else
			message[i++] = ' ';

		if (page->show_id) {
			sprintf(message + i, "%X:", item->id);
			i += 2;
		}

		if (item->action)
			message[i++] = '!';

		if (item->display)
			item->display(item, &message[i], MENU_WIDTH - i);
	}

	menu_set_text(line, message);
}
Esempio n. 3
0
menuitem_t *get_item(menupage_t *page, int item_pos) {
	const int item_id = get_real_id(page, item_pos);

	return (item_id < page->items.size) ? &page->items.data[item_id] : NULL;
}