--- np2/win9x/menu.cpp 2005/02/09 20:11:35 1.20 +++ np2/win9x/menu.cpp 2007/10/26 14:38:34 1.27 @@ -23,7 +23,7 @@ void menu_addmenubar(HMENU popup, HMENU UINT pos; UINT i; MENUITEMINFO mii; - OEMCHAR str[128]; + TCHAR str[128]; HMENU hSubMenu; cnt = GetMenuItemCount(menubar); @@ -48,9 +48,9 @@ void menu_addmenubar(HMENU popup, HMENU } static void insertresmenu(HMENU menu, UINT pos, UINT flag, - UINT item, UINT str) { + UINT32 item, UINT str) { - OEMCHAR tmp[128]; + TCHAR tmp[128]; if (LoadString(hInst, str, tmp, NELEMENTS(tmp))) { InsertMenu(menu, pos, flag, item, tmp); @@ -76,6 +76,76 @@ const MENUITEMS *iterm; } } +static BOOL searchchildmenu(HMENU hMenu, UINT uID, HMENU *phmenuRet, UINT *puPos) +{ + UINT nCount; + UINT i; + MENUITEMINFO mii; + + nCount = GetMenuItemCount(hMenu); + for (i=0; iitem, 3); + smi = (SUBMITEMS *)item; + insertresmenus(hSubMenu, 0, smi->item, smi->items); insertresmenu(hMenu, pos, MF_BYPOSITION | MF_POPUP, - (UINT)hSubMenu, m->title); + (UINT)hSubMenu, smi->title); } -#if defined(SUPPORT_SCSI) -static const DISKMENU scsimenu[4] = { - {IDS_SCSI0, {{IDM_SCSI0OPEN, IDS_OPEN}, - {0, 0}, - {IDM_SCSI0EJECT, IDS_REMOVE}}}, - {IDS_SCSI1, {{IDM_SCSI1OPEN, IDS_OPEN}, - {0, 0}, - {IDM_SCSI1EJECT, IDS_REMOVE}}}, - {IDS_SCSI2, {{IDM_SCSI2OPEN, IDS_OPEN}, - {0, 0}, - {IDM_SCSI2EJECT, IDS_REMOVE}}}, - {IDS_SCSI3, {{IDM_SCSI3OPEN, IDS_OPEN}, - {0, 0}, - {IDM_SCSI3EJECT, IDS_REMOVE}}}}; -#endif #if defined(SUPPORT_STATSAVE) -static const OEMCHAR xmenu_stat[] = OEMTEXT("S&tat"); -static const OEMCHAR xmenu_statsave[] = OEMTEXT("Save %u"); -static const OEMCHAR xmenu_statload[] = OEMTEXT("Load %u"); +static const TCHAR xmenu_stat[] = _T("S&tat"); +static const TCHAR xmenu_statsave[] = _T("Save %u"); +static const TCHAR xmenu_statload[] = _T("Load %u"); static void addstatsavemenu(HMENU hMenu, UINT pos) { HMENU hSubMenu; UINT i; - OEMCHAR buf[16]; + TCHAR buf[16]; hSubMenu = CreatePopupMenu(); for (i=0; i0;) { + i--; if (np2cfg.fddequip & (1 << i)) { insdiskmenu(hMenu, 1, fddmenu + i); } @@ -423,6 +537,10 @@ void xmenu_setsound(UINT8 value) { CheckMenuItem(hmenu, IDM_SPEAKBOARD, MFCHECK(value == 0x20)); CheckMenuItem(hmenu, IDM_SPARKBOARD, MFCHECK(value == 0x40)); CheckMenuItem(hmenu, IDM_AMD98, MFCHECK(value == 0x80)); +#if defined(SUPPORT_PX) + CheckMenuItem(hmenu, IDM_PX1, MFCHECK(value == 0x30)); + CheckMenuItem(hmenu, IDM_PX2, MFCHECK(value == 0x50)); +#endif // defined(SUPPORT_PX) } void xmenu_setjastsound(UINT8 value) {