--- np2/macosx/np2.cpp 2004/01/23 17:37:39 1.49 +++ np2/macosx/np2.cpp 2004/02/25 19:30:40 1.54 @@ -38,6 +38,7 @@ #include "np2opening.h" #include "toolwin.h" #include "aboutdlg.h" +#include "keystat.h" #include #define USE_RESUME @@ -135,6 +136,10 @@ static void MenuBarInit(void) { } InsertMenu(GetMenu(IDM_SASI1), -1); InsertMenu(GetMenu(IDM_SASI2), -1); + InsertMenu(GetMenu(IDM_SCSI0), -1); + InsertMenu(GetMenu(IDM_SCSI1), -1); + InsertMenu(GetMenu(IDM_SCSI2), -1); + InsertMenu(GetMenu(IDM_SCSI3), -1); InsertMenu(GetMenu(IDM_KEYBOARD), -1); InsertMenu(GetMenu(IDM_SOUND), -1); InsertMenu(GetMenu(IDM_MEMORY), -1); @@ -249,6 +254,38 @@ static void HandleMenuChoice(long wParam diskdrv_sethdd(1, NULL); break; + case IDM_SCSI0OPEN: + dialog_changehdd(0x20); + break; + + case IDM_SCSI0REMOVE: + diskdrv_sethdd(0x20, NULL); + break; + + case IDM_SCSI1OPEN: + dialog_changehdd(0x21); + break; + + case IDM_SCSI1REMOVE: + diskdrv_sethdd(0x21, NULL); + break; + + case IDM_SCSI2OPEN: + dialog_changehdd(0x22); + break; + + case IDM_SCSI2REMOVE: + diskdrv_sethdd(0x22, NULL); + break; + + case IDM_SCSI3OPEN: + dialog_changehdd(0x23); + break; + + case IDM_SCSI3REMOVE: + diskdrv_sethdd(0x23, NULL); + break; + case IDM_FULLSCREEN: toggleFullscreen(); break; @@ -400,6 +437,12 @@ static void HandleMenuChoice(long wParam update |= SYS_UPDATEOSCFG; break; + case IDM_F11USER: + menu_setf11key(4); + mackbd_resetf11(); + update |= SYS_UPDATEOSCFG; + break; + case IDM_F12MOUSE: menu_setf12key(0); mackbd_resetf12(); @@ -424,6 +467,12 @@ static void HandleMenuChoice(long wParam update |= SYS_UPDATEOSCFG; break; + case IDM_F12USER: + menu_setf12key(4); + mackbd_resetf12(); + update |= SYS_UPDATEOSCFG; + break; + case IDM_BEEPOFF: menu_setbeepvol(0); beep_setvol(0); @@ -659,11 +708,11 @@ static void flagload(const char *ext) { ret = IDOK; getstatfilename(path, ext, sizeof(path)); r = statsave_check(path, buf, sizeof(buf)); - if (r & (~NP2FLAG_DISKCHG)) { + if (r & (~STATFLAG_DISKCHG)) { ResumeErrorDialogProc(); ret = IDCANCEL; } - else if (r & NP2FLAG_DISKCHG) { + else if (r & STATFLAG_DISKCHG) { ret = ResumeWarningDialogProc(buf); } if (ret == IDOK) { @@ -694,7 +743,9 @@ int main(int argc, char *argv[]) { TRACEINIT(); - toolwin_readini(); + keystat_initialize(); + + toolwin_readini(); if (!(setupMainWindow())) { return(0); } @@ -742,7 +793,7 @@ int main(int argc, char *argv[]) { S98_init(); hid_init(); -#ifndef SUPPORT_WAVEMIX +#ifndef SUPPORT_SWSEEKSND if (soundmng_initialize() == SUCCESS) { soundmng_pcmvolume(SOUND_PCMSEEK, np2cfg.MOTORVOL); soundmng_pcmvolume(SOUND_PCMSEEK1, np2cfg.MOTORVOL); @@ -866,7 +917,7 @@ int main(int argc, char *argv[]) { #if defined(NP2GCC) mousemng_disable(MOUSEPROC_SYSTEM); #endif -#ifndef SUPPORT_WAVEMIX +#ifndef SUPPORT_SWSEEKSND soundmng_deinitialize(); #endif scrnmng_destroy(); @@ -941,6 +992,7 @@ static pascal OSStatus np2appevent (Even switch (whatHappened) { case kEventMouseMoved: + case kEventMouseDragged: GetEventParameter (event, kEventParamMouseDelta, typeHIPoint, NULL, sizeof(HIPoint), NULL, &delta); mousemng_callback(delta); result = noErr; @@ -1086,6 +1138,7 @@ static const EventTypeSpec appEventList[ {kEventClassMouse, kEventMouseDown}, #if defined(NP2GCC) {kEventClassMouse, kEventMouseMoved}, + {kEventClassMouse, kEventMouseDragged}, {kEventClassMouse, kEventMouseUp}, #endif {kEventClassKeyboard, kEventRawKeyModifiersChanged}, @@ -1166,7 +1219,7 @@ static void toggleFullscreen(void) { static bool toolwin = false; MenuRef menu = GetMenuRef(IDM_SCREEN); Rect bounds; - short w = 640, h = 480; + short w, h; soundmng_stop(); if (!(scrnmode & SCRNMODE_FULLSCREEN)) { @@ -1174,12 +1227,14 @@ static void toggleFullscreen(void) { GetWindowBounds(hWndMain, kWindowContentRgn, &bounds); backupwidth = bounds.right - bounds.left; backupheight = bounds.bottom - bounds.top; + w = backupwidth; + h = backupheight; toolwin = np2oscfg.toolwin; toolwin_close(); np2oscfg.winx = bounds.left; np2oscfg.winy = bounds.top; DisposeWindow(hWndMain); - BeginFullScreen(&bkfullscreen, 0, &w, &h, &hWndMain, NULL, fullScreenAllowEvents | fullScreenCaptureDisplay); + BeginFullScreen(&bkfullscreen, 0, &w, &h, &hWndMain, NULL, fullScreenAllowEvents); DisableMenuItem(menu, IDM_ROLNORMAL); DisableMenuItem(menu, IDM_ROLLEFT); DisableMenuItem(menu, IDM_ROLRIGHT);