static LRESULT CALLBACK Snd26optDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { HWND sub; switch(msg) { case WM_INITDIALOG: snd26 = np2cfg.snd26opt; dlgs_setcbitem(hWnd, IDC_SND26IO, cpIO26, NELEMENTS(cpIO26)); dlgs_setcbitem(hWnd, IDC_SND26INT, cpInt26, NELEMENTS(cpInt26)); dlgs_setcbitem(hWnd, IDC_SND26ROM, cpAddr, NELEMENTS(cpAddr)); snd26set(hWnd, snd26); sub = GetDlgItem(hWnd, IDC_SND26JMP); SetWindowLong(sub, GWL_STYLE, SS_OWNERDRAW + (GetWindowLong(sub, GWL_STYLE) & (~SS_TYPEMASK))); return(TRUE); case WM_COMMAND: switch(LOWORD(wp)) { case IDC_SND26IO: set26jmp(hWnd, getsnd26io(hWnd, IDC_SND26IO), 0x10); break; case IDC_SND26INT: set26jmp(hWnd, getsnd26int(hWnd, IDC_SND26INT), 0xc0); break; case IDC_SND26ROM: set26jmp(hWnd, getsnd26rom(hWnd, IDC_SND26ROM), 0x07); break; case IDC_SND26DEF: snd26 = 0xd1; snd26set(hWnd, snd26); InvalidateRect(GetDlgItem(hWnd, IDC_SND26JMP), NULL, TRUE); break; case IDC_SND26JMP: snd26cmdjmp(hWnd); break; } break; case WM_NOTIFY: if ((((NMHDR *)lp)->code) == (UINT)PSN_APPLY) { if (np2cfg.snd26opt != snd26) { np2cfg.snd26opt = snd26; sysmng_update(SYS_UPDATECFG); } return(TRUE); } break; case WM_DRAWITEM: if (LOWORD(wp) == IDC_SND26JMP) { dlgs_drawbmp(((LPDRAWITEMSTRUCT)lp)->hDC, dipswbmp_getsnd26(snd26)); } break; } return(FALSE); }
static LRESULT CALLBACK SPBoptDlgProc(HWND hWnd, UINT msg, WPARAM wp, LPARAM lp) { UINT8 b; UINT update; switch(msg) { case WM_INITDIALOG: spbcreate(hWnd); return(TRUE); case WM_COMMAND: switch(LOWORD(wp)) { case IDC_SPBIO: setspbjmp(hWnd, getsnd26io(hWnd, IDC_SPBIO), 0x10); break; case IDC_SPBINT: setspbjmp(hWnd, getsnd26int(hWnd, IDC_SPBINT), 0xc0); break; case IDC_SPBROM: setspbjmp(hWnd, getsnd26rom(hWnd, IDC_SPBROM), 0x07); break; case IDC_SPBDEF: spb = 0xd1; setsnd26io(hWnd, IDC_SPBIO, spb); setsnd26int(hWnd, IDC_SPBINT, spb); setsnd26rom(hWnd, IDC_SPBROM, spb); spbvrc = 0; setspbVRch(hWnd); InvalidateRect(GetDlgItem(hWnd, IDC_SPBJMP), NULL, TRUE); break; case IDC_SPBVRL: case IDC_SPBVRR: b = getspbVRch(hWnd); if ((spbvrc ^ b) & 3) { spbvrc = b; InvalidateRect(GetDlgItem(hWnd, IDC_SPBJMP), NULL, TRUE); } break; case IDC_SPBJMP: spbcmdjmp(hWnd); break; } break; case WM_NOTIFY: if ((((NMHDR *)lp)->code) == (UINT)PSN_APPLY) { update = 0; if (np2cfg.spbopt != spb) { np2cfg.spbopt = spb; update |= SYS_UPDATECFG; } if (np2cfg.spb_vrc != spbvrc) { np2cfg.spb_vrc = spbvrc; update |= SYS_UPDATECFG; } b = (UINT8)SendDlgItemMessage(hWnd, IDC_SPBVRLEVEL, TBM_GETPOS, 0, 0); if (np2cfg.spb_vrl != b) { np2cfg.spb_vrl = b; update |= SYS_UPDATECFG; } opngen_setVR(np2cfg.spb_vrc, np2cfg.spb_vrl); b = (UINT8)GetDlgItemCheck(hWnd, IDC_SPBREVERSE); if (np2cfg.spb_x != b) { np2cfg.spb_x = b; update |= SYS_UPDATECFG; } sysmng_update(update); return(TRUE); } break; case WM_DRAWITEM: if (LOWORD(wp) == IDC_SPBJMP) { dlgs_drawbmp(((LPDRAWITEMSTRUCT)lp)->hDC, dipswbmp_getsndspb(spb, spbvrc)); } return(FALSE); } return(FALSE); }
static pascal OSStatus cfWinproc(EventHandlerCallRef myHandler, EventRef event, void* userData) { OSStatus err = eventNotHandledErr; HICommand cmd; BYTE defaultmix[5] = {64, 64, 64, 64, 64}; BYTE b; if (GetEventClass(event)==kEventClassCommand && GetEventKind(event)==kEventCommandProcess ) { GetEventParameter(event, kEventParamDirectObject, typeHICommand, NULL, sizeof(HICommand), NULL, &cmd); switch (cmd.commandID) { case 'vDEF': initMixer(defaultmix); break; case '26io': setjmper(&snd26, (getMenuValue == 1)?0x10:0x00, 0x10); break; case '26in': setjmper(&snd26, getsnd26int(cmd.commandID), 0xc0); break; case '26rm': setjmper(&snd26, getMenuValue, 0x07); break; case '26DF': snd26 = 0xd1; set26s(snd26, '26io', '26in', '26rm'); break; case '86io': setjmper(&snd86, (getMenuValue == 0)?0x01:0x00, 0x01); break; case '86it': setjmper(&snd86, (getControlValue(cmd.commandID, 0))?0x10:0x00, 0x10); break; case '86in': setjmper(&snd86, getsnd86int(), 0x0c); break; case '86id': setjmper(&snd86, (~getMenuValue & 7) << 5, 0xe0); break; case '86rm': setjmper(&snd86, (getControlValue(cmd.commandID, 0))?0x02:0x00, 0x02); break; case '86DF': snd86 = 0x7f; set86s(); break; case 'spio': setjmper(&spb, (getMenuValue == 1)?0x10:0x00, 0x10); break; case 'spin': setjmper(&spb, getsnd26int(cmd.commandID), 0xc0); break; case 'sprm': setjmper(&spb, getMenuValue, 0x07); break; case 'spvl': case 'spvr': b = getspbVRch(); if ((spbvrc ^ b) & 3) { spbvrc = b; } break; case 'spDF': spb = 0xd1; spbvrc = 0; setSPB(); break; case kHICommandOK: changeSoundOpt(); endLoop(soundWin); err=noErr; break; case kHICommandCancel: revertTemporal(); endLoop(soundWin); err=noErr; break; case JOYPAD_UP: case JOYPAD_DOWN: case JOYPAD_LEFT: case JOYPAD_RIGHT: case JOYPAD_ABUTTON: case JOYPAD_BBUTTON: err=setupJoyConfig(cmd.commandID); break; default: break; } } (void)myHandler; (void)userData; return err; }