--- np2/win9x/dialog/d_disk.cpp 2004/01/22 01:10:05 1.6 +++ np2/win9x/dialog/d_disk.cpp 2004/02/13 20:31:55 1.9 @@ -20,20 +20,22 @@ static const char fddui_filter[] = "Floppy disk images (*.XDF;*.HDM;*.DUP;*.2HD)\0" \ "*.xdf;*.hdm;*.dup;*.2hd;*.tfd\0" \ "All supported Files\0" \ - "*.d88;*.88d;*.d98;*.98d;" \ + "*.d88;*.88d;*.d98;*.98d;*.fdi;" \ "*.xdf;*.hdm;*.dup;*.2hd;*.tfd\0" \ "All files (*.*)\0*.*\0"; static const FILESEL fddui = {fddui_title, str_d88, fddui_filter, 3}; static const char sasiui_title[] = "Select SASI/IDE HDD image"; static const char sasiui_filter[] = \ - "T98 harddisk image files (*.THD)\0" \ - "*.thd\0" \ "Anex86 harddisk image files (*.HDI)\0" \ "*.hdi\0" \ + "T98 harddisk image files (*.THD)\0" \ + "*.thd\0" \ + "T98-Next harddisk image files (*.NHD)\0" \ + "*.nhd\0" \ "All supported Files\0" \ - "*.thd;*.hdi\0"; -static const FILESEL sasiui = {sasiui_title, str_thd, sasiui_filter, 3}; + "*.thd;*.nhd;*.hdi\0"; +static const FILESEL sasiui = {sasiui_title, str_thd, sasiui_filter, 4}; static const char scsiui_title[] = "Select SCSI HDD image"; static const char scsiui_filter[] = \ @@ -45,10 +47,12 @@ static const char newdisk_title[] = "Cre static const char newdisk_filter[] = \ "D88 image files (*.D88;*.88D)\0" \ "*.d88;*.88d\0" \ - "T98 harddisk image files (*.THD)\0" \ - "*.thd\0" \ "Anex86 harddisk image files (*.HDI)\0" \ "*.hdi\0" \ + "T98 harddisk image files (*.THD)\0" \ + "*.thd\0" \ + "T98-Next harddisk image files (*.NHD)\0" \ + "*.nhd\0" \ "Virtual98 harddisk image files (*.HDD)\0" \ "*.hdd\0"; static const FILESEL newdiskui = {newdisk_title, str_d88, newdisk_filter, 1}; @@ -287,6 +291,7 @@ void dialog_newdisk(HWND hWnd) { char path[MAX_PATH]; HINSTANCE hinst; +const char *ext; file_cpyname(path, fddfolder, sizeof(path)); file_cutname(path); @@ -296,7 +301,8 @@ void dialog_newdisk(HWND hWnd) { return; } hinst = (HINSTANCE)GetWindowLong(hWnd, GWL_HINSTANCE); - if (!file_cmpname(file_getext(path), str_thd)) { + ext = file_getext(path); + if (!file_cmpname(ext, str_thd)) { hddsize = 0; hddminsize = 5; hddmaxsize = 256; @@ -305,14 +311,23 @@ void dialog_newdisk(HWND hWnd) { newdisk_thd(path, hddsize); } } - else if (!file_cmpname(file_getext(path), str_hdi)) { + else if (!file_cmpname(ext, str_nhd)) { + hddsize = 0; + hddminsize = 5; + hddmaxsize = 512; + if (DialogBox(hinst, MAKEINTRESOURCE(IDD_NEWHDDDISK), + hWnd, (DLGPROC)NewHddDlgProc) == IDOK) { + newdisk_nhd(path, hddsize); + } + } + else if (!file_cmpname(ext, str_hdi)) { hddsize = 7; if (DialogBox(hinst, MAKEINTRESOURCE(IDD_NEWSASI), hWnd, (DLGPROC)NewSASIDlgProc) == IDOK) { newdisk_hdi(path, hddsize); } } - else if (!file_cmpname(file_getext(path), str_hdd)) { + else if (!file_cmpname(ext, str_hdd)) { hddsize = 0; hddminsize = 2; hddmaxsize = 512; @@ -323,7 +338,7 @@ void dialog_newdisk(HWND hWnd) { } else { if (DialogBox(hinst, - MAKEINTRESOURCE(np2cfg.usefd144?IDD_NEWDISK2:IDD_NEWDISK), + MAKEINTRESOURCE((np2cfg.usefd144)?IDD_NEWDISK2:IDD_NEWDISK), hWnd, (DLGPROC)NewdiskDlgProc) == IDOK) { newdisk_fdd(path, makefdtype, disklabel); }