src/mess/osd/winui/messui.c
| r8201 | r8202 | |
| 349 | 349 | const game_driver *drv; |
| 350 | 350 | HWND hwndSoftwarePicker; |
| 351 | 351 | HWND hwndSoftwareDevView; |
| 352 | | char softListDir[256]; |
| 353 | | |
| 352 | |
| 354 | 353 | // do we have to do anything? |
| 355 | 354 | if (!bForce) |
| 356 | 355 | { |
| r8201 | r8202 | |
| 390 | 389 | drv = driver_get_compatible(drv); |
| 391 | 390 | } |
| 392 | 391 | AddSoftwarePickerDirs(hwndSoftwarePicker, GetExtraSoftwarePaths(drvindex), NULL); |
| 393 | | |
| 394 | | /* allocate the machine config */ |
| 395 | | machine_config *config = machine_config_alloc( drivers[drvindex]->machine_config ); |
| 396 | | |
| 397 | | for (const device_config *dev = config->devicelist.first(); dev != NULL; dev = dev->next) |
| 398 | | { |
| 399 | | if ( ! strcmp( dev->tag(), __SOFTWARE_LIST_TAG ) ) |
| 400 | | { |
| 401 | | software_list_config *swlist = (software_list_config *)dev->inline_config; |
| 402 | | |
| 403 | | for ( int i = 0; i < DEVINFO_STR_SWLIST_MAX - DEVINFO_STR_SWLIST_0; i++ ) |
| 404 | | { |
| 405 | | if ( swlist->list_name[i] && *swlist->list_name[i] ) |
| 406 | | sprintf(softListDir,"roms\\%s",swlist->list_name[i]); |
| 407 | | AddSoftwarePickerDirs(hwndSoftwarePicker, softListDir, NULL); |
| 408 | | } |
| 409 | | } |
| 410 | | } |
| 411 | | |
| 412 | | /* free the machine config */ |
| 413 | | machine_config_free( config ); |
| 414 | 392 | } |
| 415 | 393 | |
| 416 | 394 | |