trunk/src/emu/ui/imgcntrl.c
| r32759 | r32760 | |
| 132 | 132 | void ui_menu_control_device_image::load_software_part() |
| 133 | 133 | { |
| 134 | 134 | astring temp_name(sld->list_name(), ":", swi->shortname(), ":", swp->name()); |
| 135 | | image->set_init_phase(); |
| 136 | 135 | hook_load(temp_name, true); |
| 137 | 136 | } |
| 138 | 137 | |
| r32759 | r32760 | |
| 143 | 142 | |
| 144 | 143 | void ui_menu_control_device_image::hook_load(astring name, bool softlist) |
| 145 | 144 | { |
| 145 | if (image->is_reset_on_load()) image->set_init_phase(); |
| 146 | 146 | image->load(name); |
| 147 | 147 | ui_menu::stack_pop(machine()); |
| 148 | 148 | } |
| r32759 | r32760 | |
| 205 | 205 | case SELECT_PARTLIST: |
| 206 | 206 | swi = sld->find(software_info_name); |
| 207 | 207 | if (!swi) |
| 208 | | state = START_SOFTLIST; |
| 209 | | else if(swi->has_multiple_parts(image->image_interface())) |
| 208 | state = START_SOFTLIST; |
| 209 | else if(swi->has_multiple_parts(image->image_interface())) |
| 210 | 210 | { |
| 211 | 211 | submenu_result = -1; |
| 212 | 212 | swp = 0; |
| 213 | 213 | ui_menu::stack_push(auto_alloc_clear(machine(), ui_menu_software_parts(machine(), container, swi, image->image_interface(), &swp, false, &submenu_result))); |
| 214 | 214 | state = SELECT_ONE_PART; |
| 215 | | } |
| 216 | | else |
| 215 | } |
| 216 | else |
| 217 | 217 | { |
| 218 | 218 | swp = swi->first_part(); |
| 219 | 219 | load_software_part(); |
| r32759 | r32760 | |
| 256 | 256 | state = START_SOFTLIST; |
| 257 | 257 | handle(); |
| 258 | 258 | break; |
| 259 | | |
| 259 | |
| 260 | 260 | case -1: // return to system |
| 261 | 261 | ui_menu::stack_pop(machine()); |
| 262 | 262 | break; |