int main(int argc, char *argv[]) { /* check the compile-time bitmap width is correct, otherwise * searches run forever. */ # if BMP_BIT > 0 setbmp(); if(BMP_BIT != bmpbit || BMP_SUB != bmpsub) { fprintf(stderr,"reveng: configuration fault. Update " "config.h with these definitions and " "recompile:\n" "\t#define BMP_BIT %d\n" "\t#define BMP_SUB %d\n", bmpbit, bmpsub); exit(EXIT_FAILURE); } # endif /* BMP_BIT > 0 */ /* check the bitmap constant macro */ if(~(bmp_t) 0 != ~BMP_C(0)) { fprintf(stderr, "reveng: configuration fault. Edit " "the definition of BMP_C() in config.h to " "match BMP_T and recompile.\n"); exit(EXIT_FAILURE); } exit(EXIT_SUCCESS); }
static pascal OSStatus s86proc(EventHandlerCallRef myHandler, EventRef event, void* userData) { OSStatus err = eventNotHandledErr; HIPoint pos; Point p; Rect ctrlbounds, winbounds; PicHandle pict; if (GetEventClass(event)==kEventClassControl && GetEventKind(event)==kEventControlClick ) { err = noErr; GetEventParameter(event, kEventParamMouseLocation, typeHIPoint, NULL, sizeof(HIPoint), NULL, &pos); GetControlBounds((ControlRef)userData, &ctrlbounds); GetWindowBounds(soundWin, kWindowContentRgn, &winbounds); p.h = (short)pos.x; p.h -= (ctrlbounds.left + winbounds.left); p.h /= 8; if ((p.h < 2) || (p.h >= 10)) { return(err); } p.h -= 2; snd86 ^= (1 << p.h); set86s(); setbmp(dipswbmp_getsnd86(snd86), &pict); SetControlData((ControlRef)userData, kControlNoPart, kControlPictureHandleTag, sizeof(PicHandle), &pict); Draw1Control((ControlRef)userData); } (void)myHandler; (void)userData; return err; }
static void initSoundWindow(void) { PicHandle pict; ControlRef disp; BYTE data[5]; short i; for (i=0;i<5;i++) { data[i] = *(cfg[i]); } initMixer(data); init14(np2cfg.vol14); snd26 = np2cfg.snd26opt; uncheckAllPopupMenuItems('26io', 2, soundWin); uncheckAllPopupMenuItems('26in', 4, soundWin); uncheckAllPopupMenuItems('26rm', 5, soundWin); set26s(snd26, '26io', '26in', '26rm'); disp = getControlRefByID('BMP ', 0, soundWin); setbmp(dipswbmp_getsnd26(snd26), &pict); SetControlData(disp, kControlNoPart, kControlPictureHandleTag, sizeof(PicHandle), &pict); snd86 = np2cfg.snd86opt; uncheckAllPopupMenuItems('86io', 2, soundWin); uncheckAllPopupMenuItems('86in', 4, soundWin); uncheckAllPopupMenuItems('86id', 8, soundWin); set86s(); disp = getControlRefByID('BMP ', 1, soundWin); setbmp(dipswbmp_getsnd86(snd86), &pict); SetControlData(disp, kControlNoPart, kControlPictureHandleTag, sizeof(PicHandle), &pict); spb = np2cfg.spbopt; spbvrc = np2cfg.spb_vrc; // ver0.30 uncheckAllPopupMenuItems('spio', 2, soundWin); uncheckAllPopupMenuItems('spin', 4, soundWin); uncheckAllPopupMenuItems('sprm', 5, soundWin); setSPB(); setControlValue('splv', 0, np2cfg.spb_vrl); setControlValue('sprv', 0, np2cfg.spb_x); disp = getControlRefByID('BMP ', 2, soundWin); setbmp(dipswbmp_getsndspb(spb, spbvrc), &pict); SetControlData(disp, kControlNoPart, kControlPictureHandleTag, sizeof(PicHandle), &pict); initJoyPad(); }
static pascal OSStatus spbproc(EventHandlerCallRef myHandler, EventRef event, void* userData) { OSStatus err = eventNotHandledErr; HIPoint pos; Point p; BYTE bit, b; Rect ctrlbounds, winbounds; PicHandle pict; BOOL redraw = FALSE; if (GetEventClass(event)==kEventClassControl && GetEventKind(event)==kEventControlClick ) { err = noErr; GetEventParameter(event, kEventParamMouseLocation, typeHIPoint, NULL, sizeof(HIPoint), NULL, &pos); GetControlBounds((ControlRef)userData, &ctrlbounds); GetWindowBounds(soundWin, kWindowContentRgn, &winbounds); p.h = (short)pos.x; p.v = (short)pos.y; p.h -= (ctrlbounds.left + winbounds.left); p.h /= 9; p.v -= (ctrlbounds.top + winbounds.top); p.v /= 9; if ((p.v < 1) || (p.v >= 3)) { return(err); } if ((p.h >= 2) && (p.h < 5)) { b = spb; bit = 0x40 << (2 - p.v); switch(p.h) { case 2: b |= bit; break; case 3: b ^= bit; break; case 4: b &= ~bit; break; } if (spb != b) { spb = b; set26s(b, 'spio', 'spin', 'sprm'); redraw = TRUE; } } else if (p.h == 7) { spb ^= 0x20; redraw = TRUE; } else if ((p.h >= 10) && (p.h < 12)) { b = (BYTE)((p.h - 10) << 4); if ((spb ^ b) & 0x10) { spb &= ~0x10; spb |= b; set26s(b, 'spio', 'spin', 'sprm'); redraw = TRUE; } } else if ((p.h >= 14) && (p.h < 19)) { b = (BYTE)(p.h - 14); if ((spb ^ b) & 7) { spb &= ~0x07; spb |= b; set26s(b, 'spio', 'spin', 'sprm'); redraw = TRUE; } } else if ((p.h >= 21) && (p.h < 24)) { spbvrc ^= (BYTE)(3 - p.v); setControlValue('spvl', 0, (spbvrc & 1)?1:0); setControlValue('spvr', 0, (spbvrc & 2)?1:0); redraw = TRUE; } if (redraw) { setbmp(dipswbmp_getsndspb(spb, spbvrc), &pict); SetControlData((ControlRef)userData, kControlNoPart, kControlPictureHandleTag, sizeof(PicHandle), &pict); Draw1Control((ControlRef)userData); } } (void)myHandler; (void)userData; return err; }
static pascal OSStatus s26proc(EventHandlerCallRef myHandler, EventRef event, void* userData) { OSStatus err = eventNotHandledErr; HIPoint pos; Point p; BYTE bit, b; Rect ctrlbounds, winbounds; PicHandle pict; BOOL redraw = FALSE; if (GetEventClass(event)==kEventClassControl && GetEventKind(event)==kEventControlClick ) { err = noErr; GetEventParameter(event, kEventParamMouseLocation, typeHIPoint, NULL, sizeof(HIPoint), NULL, &pos); GetControlBounds((ControlRef)userData, &ctrlbounds); GetWindowBounds(soundWin, kWindowContentRgn, &winbounds); p.h = (short)pos.x; p.v = (short)pos.y; p.h -= (ctrlbounds.left + winbounds.left); p.h /= 9; p.v -= (ctrlbounds.top + winbounds.top); p.v /= 9; if ((p.v < 1) || (p.v >= 3)) { return(err); } if ((p.h >= 2) && (p.h < 7)) { b = (BYTE)(p.h - 2); if ((snd26 ^ b) & 7) { snd26 &= ~0x07; snd26 |= b; redraw = TRUE; } } else if ((p.h >= 9) && (p.h < 12)) { b = snd26; bit = 0x40 << (2 - p.v); switch(p.h) { case 9: b |= bit; break; case 10: b ^= bit; break; case 11: b &= ~bit; break; } if (snd26 != b) { snd26 = b; redraw = TRUE; } } else if ((p.h >= 15) && (p.h < 17)) { b = (BYTE)((p.h - 15) << 4); if ((snd26 ^ b) & 0x10) { snd26 &= ~0x10; snd26 |= b; redraw = TRUE; } } if (redraw) { set26s(snd26, '26io', '26in', '26rm'); setbmp(dipswbmp_getsnd26(snd26), &pict); SetControlData((ControlRef)userData, kControlNoPart, kControlPictureHandleTag, sizeof(PicHandle), &pict); Draw1Control((ControlRef)userData); } } (void)myHandler; (void)userData; return err; }