--- np2/macosx/menu.cpp 2003/10/24 20:46:13 1.5 +++ np2/macosx/menu.cpp 2004/01/05 03:59:11 1.12 @@ -4,7 +4,8 @@ #include "sysmng.h" #include "menu.h" #include "pccore.h" - +#include "soundrecording.h" +#include "scrnmng.h" #define MFCHECK(a) ((a)?1:0) #ifdef TARGET_API_MAC_CARBON @@ -92,18 +93,34 @@ void menu_setxshift(BYTE value) { _CheckMenuItem(hmenu, IDM_XGRPH, MFCHECK(value & 4)); } -void menu_setf12copy(BYTE value) { +void menu_setf11key(BYTE value) { + + MenuHandle hmenu; + + hmenu = _GetMenu(IDM_KEYBOARD); + if (value >= 4) { + value = 0; + } + np2oscfg.F11KEY = value; + _CheckMenuItem(hmenu, IDM_F11KANA, MFCHECK(value == 0)); + _CheckMenuItem(hmenu, IDM_F11STOP, MFCHECK(value == 1)); + _CheckMenuItem(hmenu, IDM_F11EQU, MFCHECK(value == 2)); + _CheckMenuItem(hmenu, IDM_F11NFER, MFCHECK(value == 3)); +} + +void menu_setf12key(BYTE value) { MenuHandle hmenu; hmenu = _GetMenu(IDM_KEYBOARD); - if (value >= 3) { + if (value >= 4) { value = 0; } - np2oscfg.F12COPY = value; + np2oscfg.F12KEY = value; _CheckMenuItem(hmenu, IDM_F12MOUSE, MFCHECK(value == 0)); _CheckMenuItem(hmenu, IDM_F12COPY, MFCHECK(value == 1)); - _CheckMenuItem(hmenu, IDM_F12STOP, MFCHECK(value == 2)); + _CheckMenuItem(hmenu, IDM_F12COMMA, MFCHECK(value == 2)); + _CheckMenuItem(hmenu, IDM_F12XFER, MFCHECK(value == 3)); } void menu_setbeepvol(BYTE value) { @@ -133,6 +150,14 @@ void menu_setsound(BYTE value) { _CheckMenuItem(hmenu, IDM_PC9801_118, MFCHECK(np2cfg.SOUND_SW == 0x08)); _CheckMenuItem(hmenu, IDM_SPEAKBOARD, MFCHECK(np2cfg.SOUND_SW & 0x20)); _CheckMenuItem(hmenu, IDM_SPARKBOARD, MFCHECK(np2cfg.SOUND_SW & 0x40)); + _CheckMenuItem(hmenu, IDM_AMD98, MFCHECK(np2cfg.SOUND_SW & 0x80)); +} + +void menu_setjastsound(BYTE value) { + + value &= 1; + np2oscfg.jastsnd = value; + CheckMenuItem(GetMenuRef(IDM_SOUND), IDM_JASTSOUND, MFCHECK(value)); } void menu_setmotorflg(BYTE value) { @@ -193,6 +218,39 @@ void menu_setmouse(BYTE value) { value &= 1; np2oscfg.MOUSE_SW = value; _CheckMenuItem(GetMenu(IDM_DEVICE), IDM_MOUSE, MFCHECK(value)); + if (scrnmode & SCRNMODE_FULLSCREEN) { + if (!value) { + ShowMenuBar(); + } + else { + HideMenuBar(); + } + } } #endif +void menu_sets98logging(BYTE value) { + + CheckMenuItem(GetMenuRef(IDM_OTHER), IDM_S98LOGGING, MFCHECK(value)); +} + +void menu_setrecording(bool end) { + int ret; + MenuRef hmenu = GetMenuRef(IDM_OTHER); + + ret = soundRec(end); + if (ret == 1) { + CheckMenuItem(hmenu, IDM_RECORDING, true); + } + else { + CheckMenuItem(hmenu, IDM_RECORDING, false); + } +} + +void menu_setmsrapid(BYTE value) { + + value &= 1; + np2cfg.MOUSERAPID = value; + CheckMenuItem(GetMenuRef(IDM_OTHER), IDM_MSRAPID, MFCHECK(value)); +} +