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