--- np2/win9x/dialog/d_disk.cpp 2005/03/20 13:12:50 1.13 +++ np2/win9x/dialog/d_disk.cpp 2007/01/08 07:52:01 1.17 @@ -42,6 +42,21 @@ static const TCHAR sasiui_filter[] = _T("*.thd;*.nhd;*.hdi\0"); static const FILESEL sasiui = {sasiui_title, tchar_thd, sasiui_filter, 4}; +#if defined(SUPPORT_IDEIO) +static const TCHAR isoui_title[] = _T("Select ISO-9660 image"); +static const TCHAR tchar_iso[] = _T("iso"); +static const TCHAR isoui_filter[] = \ + _T("Cue sheets\0") \ + _T("*.cue\0") \ + _T("ISO-9660 image files\0") \ + _T("*.iso;*.img\0") \ + _T("All supported Files\0") \ + _T("*.cue;*.iso;*.img\0") \ + _T("All Files\0") \ + _T("*.*\0"); +static const FILESEL isoui = {isoui_title, tchar_iso, isoui_filter, 3}; +#endif + #if defined(SUPPORT_SCSI) static const TCHAR scsiui_title[] = _T("Select SCSI HDD image"); static const TCHAR scsiui_filter[] = \ @@ -107,19 +122,22 @@ const OEMCHAR *p; const FILESEL *hddui; OEMCHAR path[MAX_PATH]; + p = diskdrv_getsxsi(drv); num = drv & 0x0f; - p = NULL; hddui = NULL; if (!(drv & 0x20)) { // SASI/IDE if (num < 2) { - p = np2cfg.sasihdd[num]; hddui = &sasiui; } +#if defined(SUPPORT_IDEIO) + else if (num == 2) { + hddui = &isoui; + } +#endif } #if defined(SUPPORT_SCSI) else { // SCSI if (num < 4) { - p = np2cfg.scsihdd[num]; hddui = &scsiui; } } @@ -127,7 +145,7 @@ const FILESEL *hddui; if (hddui == NULL) { return; } - if (p[0] == '\0') { + if ((p == NULL) || (p[0] == '\0')) { p = hddfolder; } file_cpyname(path, p, NELEMENTS(path)); @@ -333,7 +351,7 @@ const OEMCHAR *ext; if (!dlgs_selectwritefile(hWnd, &newdiskui, path, NELEMENTS(path))) { return; } - hinst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE); + hinst = (HINSTANCE)GetWindowLongPtr(hWnd, GWLP_HINSTANCE); ext = file_getext(path); if (!file_cmpname(ext, str_thd)) { hddsize = 0;