Index: apps/plugins/superdom.c =================================================================== --- apps/plugins/superdom.c (revision 21172) +++ apps/plugins/superdom.c (working copy) @@ -1351,31 +1355,50 @@ return 0; } +static char * inventory_data(int selected_item, void * data, + char * buffer, size_t buffer_len) { + (void)data; + switch(selected_item) { + case 0: + rb->snprintf(buffer,buffer_len,"Men: %d", humanres.men); + break; + case 1: + rb->snprintf(buffer,buffer_len,"Tanks: %d", humanres.tanks); + break; + case 2: + rb->snprintf(buffer,buffer_len,"Planes: %d", humanres.planes); + break; + case 3: + rb->snprintf(buffer,buffer_len,"Factories: %d", humanres.inds); + break; + case 4: + rb->snprintf(buffer,buffer_len,"Farms: %d", humanres.farms); + break; + case 5: + rb->snprintf(buffer,buffer_len,"Nukes: %d", humanres.nukes); + break; + case 6: + rb->snprintf(buffer,buffer_len,"Cash: %d", humanres.cash); + break; + case 7: + rb->snprintf(buffer,buffer_len,"Food: %d", humanres.food); + break; + case 8: + rb->snprintf(buffer,buffer_len,"Bank: %d", humanres.bank); + break; + default: + return NULL; + } + return buffer; +} + int show_inventory(void) { - char men[20], tanks[20], planes[20], inds[20], farms[20], nukes[20], - cash[20], food[20], bank[20]; - rb->snprintf(men, sizeof(men), "Men: %d", humanres.men); - rb->snprintf(tanks, sizeof(tanks), "Tanks: %d", humanres.tanks); - rb->snprintf(planes, sizeof(planes), "Planes: %d", humanres.planes); - rb->snprintf(inds, sizeof(inds), "Factories: %d", humanres.inds); - rb->snprintf(farms, sizeof(farms), "Farms: %d", humanres.farms); - rb->snprintf(nukes, sizeof(nukes), "Nukes: %d", humanres.nukes); - rb->snprintf(cash, sizeof(cash), "Cash: %d", humanres.cash); - rb->snprintf(food, sizeof(food), "Food: %d", humanres.food); - rb->snprintf(bank, sizeof(bank), "Bank: %d", humanres.bank); - rb->lcd_clear_display(); - rb->lcd_puts(1, 0, "Inventory"); - rb->lcd_puts(2, 1, men); - rb->lcd_puts(2, 2, tanks); - rb->lcd_puts(2, 3, planes); - rb->lcd_puts(2, 4, inds); - rb->lcd_puts(2, 5, farms); - rb->lcd_puts(2, 6, nukes); - rb->lcd_puts(2, 7, cash); - rb->lcd_puts(2, 8, food); - rb->lcd_puts(2, 9, bank); - rb->lcd_update(); - if(rb->default_event_handler(rb->button_get(true)) == SYS_USB_CONNECTED) { + struct simplelist_info info; + rb->simplelist_info_init(&info, "Inventory", 9, NULL); + info.hide_selection = true; + info.get_name = inventory_data; + if(rb->simplelist_show_list(&info)) + { return PLUGIN_USB_CONNECTED; } else { return 0;