billr@saab.CNA.TEK.COM (Bill Randle) (10/18/89)
Submitted-by: Izchak Miller <izchak@linc.cis.upenn.edu> Posting-number: Volume 8, Issue 49 Archive-name: NetHack3/Patch5b Patch-To: NetHack3: Volume 7, Issue 56-93 #! /bin/sh # This is a shell archive. Remove anything before this line, then unpack # it by saving it into a file and typing "sh file". To overwrite existing # files, type "sh file -c". You can also feed this as standard input via # unshar, or by typing "sh <file", e.g.. If this archive is complete, you # will see the following message at the end: # "End of archive 2 (of 6)." # Contents: patches05b # Wrapped by billr@saab on Tue Oct 17 13:16:13 1989 PATH=/bin:/usr/bin:/usr/ucb ; export PATH if test -f 'patches05b' -a "${1}" != "-c" ; then echo shar: Will not clobber existing file \"'patches05b'\" else echo shar: Extracting \"'patches05b'\" \(55526 characters\) sed "s/^X//" >'patches05b' <<'END_OF_FILE' X*** /dev/null Sun Oct 15 18:11:20 1989 X--- mac/mac.c Sat Oct 14 12:43:51 1989 X*************** X*** 0 **** X--- 1,823 ---- X+ /* SCCS Id: @(#)mac.c 3.0 88/08/05 X+ /* Copyright (c) Johnny Lee 1989 */ X+ /* NetHack may be freely redistributed. See license for details. */ X+ X+ /* Source file for character I/O and miscellaneous */ X+ /* user interface routines for the macintosh */ X+ X+ #include "hack.h" X+ X+ /* Global variables */ X+ WindowPtr HackWindow; /* points to Hack's window */ X+ extern char *keys[8]; X+ extern short macflags; X+ X+ int X+ tgetch() X+ X+ { X+ char ch; X+ EventRecord theEvent; X+ Rect cursorRect; X+ long message,cursorTime,start; X+ MenuHandle theMenu; X+ short keyCode; X+ term_info *t; X+ boolean noControlKey; X+ GrafPtr oldPort,oldPort1; X+ static char nextCommand; X+ short aboutBox(); X+ char mButtonDown(); X+ #define noEscapeKey noControlKey X+ #define clearKey 0x47 X+ #define ESCAPEkey 0x1B X+ X+ t = (term_info *)GetWRefCon(HackWindow); X+ cursorRect.left = t->tcur_x * t->charWidth + Screen_Border; X+ cursorRect.right = cursorRect.left + t->charWidth - 1; X+ cursorRect.top = t->height * t->tcur_y + Screen_Border; X+ cursorRect.bottom = cursorRect.top + t->height; X+ cursorTime = GetCaretTime()/2; X+ keyCode = 0; X+ noControlKey = (t->system.keyBoardType <= envMacPlusKbd) ? TRUE : FALSE; X+ X+ /* permit use of cursor keys and numeric keypad */ X+ /* does the same translation as in msdos.c but includes cursor keys */ X+ ch = '\0'; X+ /* handle extended command from menu */ X+ if (nextCommand && (macflags & (fExtCmdSeq1 | fExtCmdSeq2 | fExtCmdSeq3))) { X+ if (macflags & fExtCmdSeq1) { X+ ch = '#'; X+ macflags = macflags ^ (fExtCmdSeq1 | fExtCmdSeq2); X+ } else if (macflags & fExtCmdSeq2) { X+ ch = nextCommand; X+ macflags = macflags ^ (fExtCmdSeq2 | fExtCmdSeq3); X+ if (!(macflags & fExtCmdSeq3)) X+ nextCommand = '\0'; X+ } else if (macflags & fExtCmdSeq3) { X+ ch = '\r'; X+ macflags &= ~fExtCmdSeq3; X+ } X+ } X+ GetPort(&oldPort); X+ SetPort(HackWindow); X+ while (!ch) { X+ GetPort(&oldPort1); X+ SetPort((GrafPtr)HackWindow); X+ /* do cursor blinking */ X+ message = TickCount() + cursorTime; X+ while (!WaitNextEvent(everyEvent, &theEvent, 10L, 0L)) { X+ /* wait until something occurs */ X+ if (!Invisible) { X+ if (TickCount() > message) { X+ InvertRect(&cursorRect); X+ message = TickCount() + cursorTime; X+ keyCode = !keyCode; X+ } X+ } X+ } X+ if (keyCode) X+ InvertRect(&cursorRect); X+ SetPort(oldPort1); X+ if (theEvent.what == keyDown || theEvent.what == autoKey) { X+ /* use raw key codes */ X+ keyCode = (LoWord(theEvent.message) & keyCodeMask)>>8; X+ if (keyCode == 50 && noEscapeKey) X+ ch = (char)ESCAPEkey; /* ESC */ X+ else if (keyCode == clearKey) { X+ macflags = macflags ^ fToggleNumPad; X+ SetWTitle(HackWindow, X+ (macflags & fToggleNumPad) ? "\015NetHack [MOV]" X+ : "\015NetHack [NUM]"); X+ } else if ((macflags & fToggleNumPad) && X+ (keyCode>64 && keyCode<127)) X+ ch = t->keyMap[keyCode-65]; X+ /* make the command key = control key on old Mac keyboards */ X+ if ((theEvent.modifiers & cmdKey) && noControlKey) { X+ ch = (char)(theEvent.message & 0x1F); X+ } X+ if ((theEvent.modifiers & shiftKey) && (ch)) { X+ ch = (ch == '.') ? ':' : (char)toupper(ch); X+ } X+ if (theEvent.modifiers & optionKey) { X+ for(start = 43; start < 56; start++) { X+ if (t->keyMap[start] == (char)(theEvent.message & 0xFFL)) { X+ ch = t->keyMap[start - 13]; X+ break; X+ } X+ } X+ } X+ /* not a cursor key or from the numeric keypad */ X+ if (!ch && keyCode != clearKey) { X+ ch = (char)(theEvent.message & 0xFF); X+ } X+ } else { X+ /* what other events to handle */ X+ switch (theEvent.what) { X+ case nullEvent: X+ SetCursor(&ARROW_CURSOR); X+ break; X+ case app4Evt: X+ #define kSuspendResumeMessage 1 /* high byte of suspend/resume event message */ X+ #define SuspResIsResume(evtMessage) ((evtMessage) & 0x00000001) X+ X+ switch (theEvent.message >> 24) { X+ case kSuspendResumeMessage: X+ if (!SuspResIsResume(theEvent.message)) { X+ /* ---------- SUSPEND EVENT ------------ */ X+ if (macflags & fZoomOnContextSwitch) X+ SizeWindow(HackWindow,60,60,TRUE); X+ } else { X+ /* ---------- RESUME EVENT ------------- */ X+ if (macflags & fZoomOnContextSwitch) X+ SizeWindow(HackWindow, X+ (t->maxCol * t->charWidth) + 2*Screen_Border, X+ (t->maxRow * t->height) + 2*Screen_Border, X+ TRUE); X+ } X+ break; X+ } X+ break; X+ X+ case updateEvt: X+ if (HackWindow == (WindowPtr)theEvent.message) { X+ #ifdef TEXTCOLOR X+ if (t->system.hasColorQD) { X+ Rect r; X+ GDHandle gd; X+ X+ r = (**(*(WindowPeek)HackWindow).contRgn).rgnBBox; X+ LocalToGlobal(&r.top); X+ LocalToGlobal(&r.bottom); X+ gd = GetMaxDevice(&r); X+ HLock((Handle)gd); X+ t->inColor = (**(**gd).gdPMap).pixelSize > 1; X+ HUnlock((Handle)gd); X+ } X+ #endif X+ GetPort(&oldPort); X+ SetPort((GrafPtr)HackWindow); X+ BeginUpdate(HackWindow); X+ t = (term_info *)GetWRefCon(HackWindow); X+ if (t->inColor && macflags & fDoUpdate) { X+ keyCode = flags.toplin; X+ flags.toplin = 0; X+ docrt(); X+ flags.toplin = keyCode; X+ } else { X+ for (keyCode = 0;keyCode < t->maxRow; keyCode++) { X+ MoveTo(Screen_Border, X+ t->ascent + (keyCode * t->height) X+ + Screen_Border); X+ DrawText(&t->screen[keyCode][0], 0, t->maxCol); X+ } X+ } X+ EndUpdate(HackWindow); X+ SetPort(oldPort); X+ } X+ break; X+ X+ case activateEvt: X+ if (HackWindow == (WindowPtr)theEvent.message) { X+ if (theMenu = GetMHandle(editMenu)) { X+ if (theEvent.modifiers & activeFlag) { X+ if (macflags & fDoUpdate) { X+ SetMenuBar(t->fullMBarHandle); X+ for (keyCode = fileMenu; X+ keyCode <= extendMenu;keyCode++) { X+ if (keyCode != editMenu) X+ EnableItem(GetMHandle(keyCode), 0); X+ } X+ EnableItem(GetMHandle(appleMenu), 1); X+ } X+ DisableItem(theMenu, 0); X+ } else { X+ EnableItem(theMenu, 0); X+ if (macflags & fDoUpdate) { X+ SetMenuBar(t->shortMBarHandle); X+ for (keyCode = fileMenu; X+ keyCode <= extendMenu;keyCode++) { X+ if (keyCode != editMenu) X+ DisableItem(GetMHandle(keyCode), 0); X+ } X+ DisableItem(GetMHandle(appleMenu), 1); X+ } X+ } X+ DrawMenuBar(); X+ } X+ } X+ break; X+ X+ case mouseDown: X+ ch = mButtonDown(theEvent, t, &nextCommand); X+ break; X+ } X+ } X+ } X+ SetPort(oldPort); X+ ObscureCursor(); X+ return ((ch == '\r') ? '\n' : ch); X+ } X+ X+ char X+ mButtonDown(theEvent, t, nextCommand) X+ EventRecord theEvent; X+ term_info *t; X+ char *nextCommand; X+ { X+ Rect boundsRect; X+ WindowPtr theWindow; X+ long message; X+ char deskacc[256]; X+ MenuHandle theMenu; X+ char ch; X+ short menuBar; X+ GrafPtr oldPort; X+ X+ ch = '\0'; X+ if (macflags & fDoNonKeyEvt) X+ switch (FindWindow(theEvent.where,&theWindow)) { X+ case inMenuBar: X+ X+ SetCursor(&ARROW_CURSOR); X+ message = MenuSelect(theEvent.where); X+ X+ if (!HiWord(message)) X+ break; X+ X+ switch (HiWord(message)) { X+ case editMenu: X+ (void)SystemEdit((short)message - 1); X+ break; X+ case appleMenu: X+ if (LoWord(message) > 2) { X+ GetItem(GetMHandle(HiWord(message)),LoWord(message), X+ deskacc); X+ SetMenuBar(t->shortMBarHandle); X+ DrawMenuBar(); X+ (void)OpenDeskAcc(deskacc); X+ if (theMenu = GetMHandle(editMenu)) X+ EnableItem(theMenu, 0); X+ } else X+ if (aboutBox(1)) X+ ch = '?'; X+ break; X+ case fileMenu: X+ case inventMenu: X+ case prepMenu: X+ case actionMenu: X+ case moveMenu: X+ *nextCommand = X+ keys[HiWord(message)-appleMenu][LoWord(message)-1]; X+ ch = (!(*nextCommand)) ? '\0' : (char)ESCAPEkey; X+ macflags |= (fExtCmdSeq2 | fExtCmdSeq3); X+ #ifdef TEXTCOLOR X+ #define MAC_BLACK 0 X+ #define MAC_WHITE 7 X+ if(HiWord(message) == fileMenu && LoWord(message) == 3) { X+ theMenu = GetMHandle(HiWord(message)); X+ macflags = macflags ^ fInvertedScreen; X+ CheckItem(theMenu, 3, X+ (boolean)(macflags & fInvertedScreen)); X+ X+ /* switch black & white */ X+ message = t->color[BLACK]; X+ t->color[MAC_BLACK] = t->color[MAC_WHITE]; X+ t->color[MAC_WHITE] = message; X+ X+ /* switch light blue & dark blue */ X+ message = t->color[BLUE]; X+ t->color[BLUE] = t->color[CYAN]; X+ t->color[CYAN] = message; X+ X+ ForeColor(t->color[MAC_BLACK]); X+ BackColor(t->color[MAC_WHITE]); X+ /* refresh screen without prompting 'More' */ X+ message = flags.toplin; X+ flags.toplin = 0; X+ docrt(); X+ flags.toplin = message; X+ } X+ #endif X+ break; X+ case extendMenu: X+ ch = (char)ESCAPEkey; X+ *nextCommand = X+ keys[HiWord(message) - appleMenu][LoWord(message) - 1]; X+ macflags |= fExtCmdSeq1; X+ break; X+ } X+ HiliteMenu(0); X+ break; X+ X+ case inSysWindow: X+ SystemClick(&theEvent, theWindow); X+ break; X+ X+ case inDrag: X+ if (!(theEvent.modifiers & cmdKey)) { X+ if (theWindow != FrontWindow()) { X+ SelectWindow(theWindow); X+ break; X+ } X+ } X+ menuBar = (ROM85 == -1) ? 20 : GetMBarHeight(); X+ X+ SetRect(&boundsRect, Screen_Border, menuBar + Screen_Border, X+ SCREEN_BITS.bounds.right - Screen_Border, X+ SCREEN_BITS.bounds.bottom - Screen_Border); X+ SetCursor(&ARROW_CURSOR); X+ DragWindow(theWindow, theEvent.where, &boundsRect); X+ break; X+ X+ case inContent: X+ SelectWindow(theWindow); X+ break; X+ } X+ return ch; X+ } X+ X+ void X+ gethdate(name) char *name; X+ { X+ /*end gethdate*/} X+ X+ int X+ uptodate(fd) X+ { X+ return(1); X+ } X+ X+ #ifndef THINKC4 X+ char * X+ getenv(s) X+ char *s; X+ { X+ return((char *)NULL); X+ } X+ X+ int X+ memcmp(x,y,n) X+ char *x,*y; X+ int n; X+ X+ { X+ int i; X+ X+ i = 0; X+ while (i++< n && (*x++) == (*y++)) { X+ /*x++; y++; i++*/ X+ ; X+ } X+ if (i != n) X+ return ((*x > *y) ? -1 : 1); X+ else X+ return (0); X+ } X+ #else X+ int X+ kbhit() X+ { X+ EventRecord theEvent; X+ X+ return (EventAvail(keyDownMask, &theEvent)); X+ } X+ #endif X+ X+ #ifdef AZTEC X+ X+ sleep(x) X+ int x; X+ { X+ long t; X+ X+ Delay((long)x, &t); X+ } X+ #endif X+ X+ X+ int X+ mcurs(col,row) X+ short col,row; X+ X+ { X+ term_info *t; X+ X+ t = (term_info *)GetWRefCon(HackWindow); X+ t->tcur_y = row; X+ t->tcur_x = col; X+ return 1; X+ } X+ X+ void X+ mput(s) X+ char *s; X+ { X+ unsigned short sLen,temp; X+ GrafPtr prevPort; X+ register term_info *t; X+ Point cur; X+ register short x,y; X+ Rect eraseRect; X+ register char *stmp,*c,*c1; X+ char savech; X+ X+ t = (term_info *)GetWRefCon(HackWindow); X+ sLen = strlen(s); X+ X+ x = t->tcur_x; X+ y = t->tcur_y; X+ if (y >= t->maxRow) X+ panic("mput - incorrect cursor position\n"); X+ cur.h = (x * t->charWidth) + Screen_Border; X+ cur.v = t->ascent + (y * t->height) + Screen_Border; X+ GetPort(&prevPort); X+ SetPort((GrafPtr)HackWindow); X+ TextFont(t->fontNum); X+ TextSize(t->fontSize); X+ TextMode(srcCopy); X+ macflags &= ~0x1000; X+ /* a termcap-type escape string */ X+ if (!strncmp(s, "\033[", 2)) { X+ switch(*(s + 2)) { X+ case 'c': /* color kluge */ X+ if (t->inColor) { X+ temp = (short)(*(s + 3) - 'a'); X+ if (temp >= BLACK && temp < MAXCOLORS && X+ (temp % (MAXCOLORS / 2) != GRAY)) /* set colour */ X+ ForeColor(t->color[temp % (MAXCOLORS / 2)]); X+ if (temp == GRAY) X+ macflags |= 0x1000; X+ /* yellow fgnd hard to see on white bgnd */ X+ /* so change to green background */ X+ if (temp == YELLOW || temp == BROWN) X+ BackColor(t->color[GREEN]); X+ if (temp == BLUE) X+ BackColor(t->color[CYAN]); X+ if (temp == CYAN) X+ BackColor(t->color[BLUE]); X+ } X+ break; X+ case '0': /* normal video begin */ X+ if (*(s + 3) == 'm') { X+ ForeColor(t->color[0]); X+ BackColor(t->color[7]); X+ } X+ break; X+ case '1': /* inverse video begin */ X+ if (*(s + 3) == 'm') { X+ ForeColor(t->color[7]); X+ BackColor(t->color[0]); X+ } X+ break; X+ case 'A': /* cursor up */ X+ if (y > 0) { X+ t->tcur_y--; X+ cur.v -= t->height; X+ } X+ break; X+ case 'B': /* cursor down */ X+ if (y < t->maxRow) { X+ t->tcur_y++; X+ cur.v += t->height; X+ } X+ break; X+ case 'C': /* cursor right */ X+ if (x < t->maxCol) { X+ t->tcur_x++; X+ cur.h += t->charWidth; X+ } X+ break; X+ case 'D': /* cursor left */ X+ if (x > 0) { X+ t->tcur_x--; X+ cur.h -= t->charWidth; X+ } X+ break; X+ case 'H': /* home cursor */ X+ t->tcur_x = t->tcur_y = 0; X+ cur.h = Screen_Border; X+ cur.v = t->ascent + Screen_Border; X+ break; X+ case 'K': /* clear to end of line */ X+ eraseRect.top = cur.v - (t->ascent); X+ eraseRect.left = cur.h; X+ eraseRect.bottom = eraseRect.top + t->height; X+ eraseRect.right = (t->maxCol*t->charWidth) + Screen_Border; X+ EraseRect(&eraseRect); X+ for (temp = x, c = &(t->screen[y][x]); temp < t->maxCol; temp++) X+ *c++ = ' '; X+ break; X+ case '2': X+ if (*(s+3) == 'J') { /* clear screen */ X+ x = y = t->tcur_x = t->tcur_y = 0; X+ eraseRect.top = eraseRect.left = Screen_Border; X+ eraseRect.bottom = t->maxRow*t->height + Screen_Border; X+ eraseRect.right = t->charWidth*t->maxCol + Screen_Border; X+ EraseRect(&eraseRect); X+ for (y = 0, c = t->screen[0]; y < t->maxCol * t->maxRow; y++) { X+ *c++ = ' '; X+ } X+ cur.h = Screen_Border; X+ cur.v = t->ascent + Screen_Border; X+ } X+ break; X+ } X+ MoveTo(cur.h, cur.v); X+ } else { X+ short charleft = sLen; X+ X+ MoveTo(cur.h, cur.v); X+ stmp = s; X+ X+ if (sLen) { X+ while (stmp < (s + sLen)) { X+ temp = (x + charleft - 1 < t->maxCol) ? sLen : t->maxCol - x; X+ savech = '\0'; X+ c1 = stmp + temp; /* point to the char after the end */ X+ c = index(stmp, '\n'); X+ if (c && c < c1) { X+ c1 = c; X+ savech = '\n'; X+ temp = (short)(c - stmp); X+ /* don't want to include '\n' in print */ X+ } X+ c = index(stmp, '\r'); X+ if (c && c < c1) { X+ c1 = c; X+ savech = '\r'; X+ temp = (short)(c - stmp); X+ /* don't want to include '\r' in print */ X+ } X+ DrawText((Ptr)stmp, 0, temp); X+ BlockMove((Ptr)stmp, (Ptr)&(t->screen[y][x]), (long)temp); X+ stmp += temp + 1; X+ charleft -= temp + 1; X+ if (!savech) { X+ t->tcur_x += temp; X+ } X+ if (t->tcur_x == t->maxCol || savech) { X+ t->tcur_x = 0; X+ if (savech != '\r') X+ y = (++t->tcur_y); X+ /* should probably check for overflow */ X+ } X+ x = t->tcur_x; X+ cur.h = Screen_Border; X+ cur.v = y * t->height + t->ascent + Screen_Border; X+ MoveTo(cur.h,cur.v); X+ } X+ } X+ } X+ if (t->tcur_x >= t->maxCol) { X+ t->tcur_x = t->tcur_x % t->maxCol; X+ t->tcur_y++; X+ } X+ SetPort(prevPort); X+ } X+ X+ int X+ mputc(c) X+ char c; X+ { X+ GrafPtr prevPort; X+ register term_info *t; X+ Point cur; X+ register short x,y; X+ Rect eraseRect; X+ char savech; X+ PenState pnState; X+ X+ t = (term_info *)GetWRefCon(HackWindow); X+ X+ x = t->tcur_x; X+ y = t->tcur_y; X+ cur.h = (x * t->charWidth) + Screen_Border; X+ cur.v = t->ascent + (y * t->height) + Screen_Border; X+ GetPort(&prevPort); X+ SetPort((GrafPtr)HackWindow); X+ TextFont(t->fontNum); X+ TextSize(t->fontSize); X+ TextMode(srcCopy); X+ X+ MoveTo(cur.h, cur.v); X+ savech = '\0'; X+ if (c == '\b') { X+ if (x > 0) { X+ c = ' '; X+ x = (--t->tcur_x); X+ cur.h = (x * t->charWidth) + Screen_Border; X+ Move(-t->charWidth,0); X+ savech = '\b'; X+ } else if (y > 0) { X+ c = ' '; X+ x = t->tcur_x = (t->maxCol - 1); X+ y = (--t->tcur_y); X+ cur.h = (x * t->charWidth) + Screen_Border; X+ cur.v -= t->height; X+ MoveTo(cur.h, cur.v); X+ savech = '\b'; X+ } X+ } X+ if (c == '\007') { X+ SysBeep(1); X+ } else if ((c != '\n') && (c != '\r')) { X+ t->screen[y][x] = c; X+ if (macflags & 0x1000) { X+ eraseRect.top = cur.v -t->ascent; X+ eraseRect.bottom = eraseRect.top + t->height; X+ eraseRect.left = cur.h; X+ eraseRect.right = cur.h + t->charWidth; X+ GetPenState(&pnState); X+ FillRect(&eraseRect, dkGray); X+ SetPenState(&pnState); X+ macflags &= ~0x1000; X+ TextMode(srcOr); X+ } X+ DrawText(&c, 0, 1); X+ if (!savech) X+ t->tcur_x++; X+ } else { X+ t->tcur_x = 0; X+ if (t->tcur_y < t->maxRow) { X+ if (c == '\n') X+ t->tcur_y++; X+ } X+ cur.h = (t->tcur_x * t->charWidth) + Screen_Border; X+ cur.v = t->ascent + (t->tcur_y * t->height) + Screen_Border; X+ MoveTo(cur.h,cur.v); X+ } X+ SetPort(prevPort); X+ return 1; X+ } X+ X+ int X+ mputs(s) X+ char *s; X+ { X+ mput(s); X+ return 1; X+ } X+ X+ X+ X+ int X+ mprintf(fstr) X+ char *fstr; X+ { X+ #define Bufsz 14 X+ char numAsStr[Bufsz]; X+ short numsz; X+ char *ps; X+ unsigned long num; X+ X+ boolean convchar; X+ boolean islong; X+ char c; X+ char *s; X+ char prBuffer[128]; X+ register char *pb; X+ X+ prBuffer[0] = '\0'; X+ pb = &prBuffer[0]; X+ ps = (char *)&fstr; /* convert to pointer to params */ X+ ps += sizeof(char *); /* skip over format string ptr */ X+ while (*fstr) { X+ s = index(fstr, '%'); X+ if (s) { X+ num = (short)(s - fstr); X+ strncpy(pb, fstr, (short)num); X+ pb += num; X+ fstr = s; X+ } else { X+ Strcpy(pb, fstr); X+ fstr += strlen(fstr)-1; X+ } X+ switch (*fstr) { X+ case '%': X+ fstr++; X+ convchar = FALSE; X+ islong = FALSE; X+ do { X+ switch (*fstr) { X+ case 'l': /* long */ X+ islong = TRUE; X+ fstr++; X+ break; X+ case 'u': /* unsigned decimal */ X+ case 'd': /* signed decimal */ X+ num = (islong) ? *(unsigned long *)ps X+ : *(unsigned short *)ps; X+ numsz = (islong) ? sizeof(long) : sizeof(short); X+ ps += numsz; X+ s = (islong) ? fstr - 2 : fstr - 1; X+ c = *(fstr + 1); X+ *(fstr + 1) = '\0'; X+ if (islong) X+ sprintf(numAsStr, s, num); X+ else X+ sprintf(numAsStr, s, (short)num); X+ *(fstr + 1) = c; X+ Strcpy(pb, numAsStr); X+ pb = (char *)(pb + strlen(numAsStr)); X+ convchar = TRUE; X+ break; X+ case 's': X+ s = *(char **)ps; X+ Strcpy(pb, s); X+ pb = (char *)(pb + strlen(s)); X+ ps += sizeof(char *); X+ convchar = TRUE; X+ break; X+ case 'c': X+ c = *(unsigned short *)ps; X+ numsz = sizeof(short); X+ (*pb++) = (char)c; X+ (*pb) = '\0'; X+ convchar = TRUE; X+ ps += numsz; X+ break; X+ default: X+ convchar = TRUE; X+ } X+ } while (!convchar); X+ break; X+ default: X+ break; X+ } X+ fstr++; X+ } X+ if (prBuffer[0]) X+ mput(&prBuffer[0]); X+ X+ return 1; X+ } X+ X+ short X+ aboutBox(prompt) X+ short prompt; X+ { X+ #define OK_BUTTON 1 X+ #define MORE_INFO_BUTTON 2 X+ X+ DialogPtr theDialog; X+ DialogRecord space; X+ Rect rect; X+ Handle theControl; X+ short type,itemHit; X+ GrafPtr oldPort; X+ EventRecord theEvent; X+ term_info *t; X+ DialogTHndl th = (DialogTHndl) GetResource('DLOG', 129); X+ short dv, dh; X+ X+ /* if about box on startup, centre about box on screen */ X+ if (!prompt) { X+ rect = SCREEN_BITS.bounds; X+ dv = ((**th).boundsRect.bottom - 40 - (**th).boundsRect.top)/2; X+ dh = ((**th).boundsRect.right - (**th).boundsRect.left)/2; X+ X+ (**th).boundsRect.bottom = X+ (rect.bottom + rect.top + MBarHeight)/2 + dv; X+ (**th).boundsRect.top = X+ (rect.bottom + rect.top + MBarHeight)/2 - dv; X+ (**th).boundsRect.right = (rect.right + rect.left)/2 + dh; X+ (**th).boundsRect.left = (rect.right + rect.left)/2 - dh; X+ } X+ X+ GetPort(&oldPort); X+ theDialog = GetNewDialog(129, &space,(WindowPtr)-1); X+ if (!prompt) { X+ HideDItem(theDialog, OK_BUTTON); X+ HideDItem(theDialog, MORE_INFO_BUTTON); X+ } else X+ MoveWindow((WindowPtr)theDialog, LEFT_OFFSET, TOP_OFFSET, TRUE); X+ X+ ShowWindow((WindowPtr)theDialog); X+ SetPort(theDialog); X+ TextFont(1); /* 9 pt. Geneva */ X+ TextSize(9); X+ DrawDialog(theDialog); X+ itemHit = 0; X+ if (prompt) { X+ /* BOLD the OK button */ X+ GetDItem(theDialog, OK_BUTTON, &type, &theControl, &rect); X+ PenSize(3,3); X+ InsetRect(&rect,-4,-4); X+ FrameRoundRect(&rect,16,16); X+ PenSize(1,1); X+ while ((itemHit != OK_BUTTON) && (itemHit != MORE_INFO_BUTTON)) { X+ ModalDialog(NULL, &itemHit); X+ } X+ } else { X+ while (!itemHit) { X+ if (GetNextEvent(everyEvent,&theEvent)) X+ if (theEvent.what == mouseDown) X+ itemHit = OK_BUTTON; X+ } X+ } X+ CloseDialog(theDialog); X+ ReleaseResource((Handle)th); X+ SetPort(oldPort); X+ return (itemHit == MORE_INFO_BUTTON); X+ } X*** /dev/null Sun Oct 15 18:12:23 1989 X--- mac/nethack.r Sat Oct 14 11:57:06 1989 X*************** X*** 0 **** X--- 1,1753 ---- X+ /****************************************************** X+ * * X+ * nethack.r * X+ * * X+ * Resource file for NetHack 3.0g application * X+ * * X+ * Copyright 1989 by Johnny Lee * X+ * NetHack may be freely redistributed. * X+ * See license for details. * X+ * * X+ ******************************************************/ X+ X+ #include "Types.r" X+ #include "SysTypes.r" X+ X+ resource 'ICN#' (129, purgeable) { X+ { /* array: 2 elements */ X+ /* [1] */ X+ $"4B BA 91 A8 6A 12 AA 28 5B 13 BA 30 4A 12 AA 28" X+ $"4B 92 A9 A8 00 00 00 10 08 00 00 10 09 81 80 10" X+ $"09 83 C0 10 09 83 E0 10 08 C3 C0 10 08 C1 80 10" X+ $"08 63 DF 90 08 67 FF 90 08 3F FF 90 08 1B DF 90" X+ $"08 03 DF 90 08 03 DF 90 08 03 CF 10 08 03 C6 10" X+ $"08 00 00 10 08 E2 57 10 09 05 54 10 08 E7 56 10" X+ $"08 15 54 10 08 E5 27 10 04 00 00 20 03 FF FF C0", X+ /* [2] */ X+ $"7F FF FF FF 7F FF FF FF 7F FF FF FF 7F FF FF FF" X+ $"7F FF FF FF 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 07 FF FF E0 03 FF FF C0" X+ } X+ }; X+ X+ resource 'ICN#' (128, purgeable) { X+ { /* array: 2 elements */ X+ /* [1] */ X+ $"00 00 00 00 00 00 00 00 4B BA 91 A8 6A 12 AA 30" X+ $"5B 13 BA 28 4A 12 AA 28 4B 92 A9 A8 00 00 00 00" X+ $"00 00 00 00 30 00 00 00 38 01 80 00 1C 03 C0 00" X+ $"0E 03 E7 80 07 03 CF 80 03 E1 88 80 01 C3 C8 80" X+ $"01 E7 E8 80 01 3F F9 80 00 1B DB 80 00 03 CE 80" X+ $"00 03 CC 80 00 03 C8 80 00 03 E4 80 00 03 F3 80" X+ $"00 03 B8 00 00 07 1C 00 00 1E 0C 00 00 1C 0C 00" X+ $"00 18 0E 00 00 1C 0F", X+ /* [2] */ X+ $"7F FF FF FE FF FF FF FF FF FF FF FD FF FF FF FD" X+ $"FF FF FF FD FF FF FF FF FF FF FF FD FF FF FF FF" X+ $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" X+ $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" X+ $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" X+ $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" X+ $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" X+ $"FF FF FF 87 FF FF FF D7 FF FF FF 93 FF FF FF FF" X+ } X+ }; X+ X+ resource 'ICN#' (130, purgeable) { X+ { /* array: 2 elements */ X+ /* [1] */ X+ $"4B BA 91 A8 6A 12 AA 28 5B 13 BA 30 4A 12 AA 28" X+ $"4B 92 A9 A8 00 00 00 00 04 00 00 20 09 81 80 10" X+ $"09 83 C0 10 09 83 E0 10 08 C3 C0 10 08 C1 80 10" X+ $"08 63 DF 90 08 67 FF 90 08 3F FF 90 08 1B DF 90" X+ $"08 03 DF 90 08 03 CF 10 08 03 C6 10 08 03 C0 10" X+ $"08 00 00 10 08 00 00 10 04 00 00 20 00 00 00 00" X+ $"74 59 09 9C 42 95 15 50 61 19 15 98 42 91 15 50" X+ $"74 51 C9 5C", X+ /* [2] */ X+ $"7F FF FF FE 7F FF FF FE 7F FF FF FE 7F FF FF FE" X+ $"7F FF FF FE 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 0F FF FF F0" X+ $"0F FF FF F0 0F FF FF F0 0F FF FF F0 FF FF FF FE" X+ $"FF FF FF FE FF FF FF FE FF FF FF FE FF FF FF FE" X+ $"FF FF FF FE FF FF FF FE" X+ } X+ }; X+ X+ resource 'ICN#' (131, purgeable) { X+ { /* array: 2 elements */ X+ /* [1] */ X+ $"00 00 00 00 4B BA 91 A8 6A 12 AA 28 5B 13 BA 30" X+ $"4A 12 AA 28 4B 92 A9 A8 00 00 00 00 0F FF C0 00" X+ $"0F FF C0 00 01 80 00 00 3F FF FC 00 3F FF FC 00" X+ $"00 00 C0 00 00 3F FF F0 00 3F FF F0 00 18 00 C0" X+ $"0F FE 00 C0 0F FE 00 C0 01 80 00 C0 03 FF FF FE" X+ $"03 FF FF FE 00 00 0C 00 00 00 0C 00 00 00 00 00" X+ $"02 3A BA 00 02 22 A2 00 02 32 B2 00 02 22 A2 00" X+ $"03 B9 3B 80", X+ /* [2] */ X+ $"FF FF FF FC FF FF FF FC FF FF FF FC FF FF FF FC" X+ $"FF FF FF FC FF FF FF FC FF FF FF FC 1F FF E0 00" X+ $"1F FF E0 00 7F FF FE 00 7F FF FE 00 7F FF FE 00" X+ $"7F FF FF F8 00 7F FF F8 00 7F FF F8 1F FF FF E0" X+ $"1F FF FF E0 1F FF FF E0 0F FF FF FF 0F FF FF FF" X+ $"0F FF FF FF 0F FF FF FC 0F FF FF FC 0F FF FF FC" X+ $"0F FF FF FC 0F FF FF FC 0F FF FF FC 0F FF FF FC" X+ $"0F FF FF FC 0F FF FF FC" X+ } X+ }; X+ X+ resource 'ICN#' (132, purgeable) { X+ { /* array: 2 elements */ X+ /* [1] */ X+ $"00 00 00 00 4B BA 91 A8 6A 12 AA 28 5B 13 BA 30" X+ $"4A 12 AA 28 4B 92 A9 A8 00 00 00 00 00 C0 03 00" X+ $"01 4F F2 80 02 30 0C 40 01 A0 05 80 00 40 02 00" X+ $"00 46 62 00 00 46 62 00 00 40 02 00 00 60 06 00" X+ $"00 21 84 00 00 50 0A 00 01 9B D9 80 02 28 14 40" X+ $"02 4B D2 40 01 44 22 80 00 83 C1 00 00 00 00 00" X+ $"0E 32 5C E0 09 4B 51 00 0E 4A D8 C0 09 4A 50 20" X+ $"0E 32 5D C0", X+ /* [2] */ X+ $"FF FF FF FC FF FF FF FC FF FF FF FC FF FF FF FC" X+ $"FF FF FF FC FF FF FF FC FF FF FF FC 01 FF FF 80" X+ $"03 FF FF C0 07 FF FF E0 07 FF FF E0 03 FF FF C0" X+ $"00 FF FF 00 00 FF FF 00 00 FF FF 00 00 FF FF 00" X+ $"00 FF FF 00 01 FF FF 80 03 FF FF C0 07 FF FF E0" X+ $"07 FF FF E0 07 FF FF E0 07 FF FF E0 FF FF FF FF" X+ $"FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF" X+ $"FF FF FF FF FF FF FF FF" X+ } X+ }; X+ X+ resource 'BNDL' (128, "NetHack for Mac", purgeable) { X+ 'nh30', X+ 0, X+ { /* array TypeArray: 2 elements */ X+ /* [1] */ X+ 'ICN#', X+ { /* array IDArray: 5 elements */ X+ /* [1] */ X+ 0, 128, X+ /* [2] */ X+ 1, 129, X+ /* [3] */ X+ 2, 130, X+ /* [4] */ X+ 3, 131, X+ /* [5] */ X+ 4, 132 X+ }, X+ /* [2] */ X+ 'FREF', X+ { /* array IDArray: 5 elements */ X+ /* [1] */ X+ 0, 128, X+ /* [2] */ X+ 1, 129, X+ /* [3] */ X+ 2, 130, X+ /* [4] */ X+ 3, 131, X+ /* [5] */ X+ 4, 132 X+ } X+ } X+ }; X+ X+ resource 'FREF' (128, "Application", purgeable) { X+ 'APPL', X+ 0, X+ "" X+ }; X+ X+ resource 'FREF' (129, "Save Char File", purgeable) { X+ 'SAVE', X+ 1, X+ "" X+ }; X+ X+ resource 'FREF' (130, "Explore file", purgeable) { X+ 'XPLR', X+ 2, X+ "" X+ }; X+ X+ resource 'FREF' (131, "Level Temp File", purgeable) { X+ 'LEVL', X+ 3, X+ "" X+ }; X+ X+ resource 'FREF' (132, "Bones File") { X+ 'BONE', X+ 4, X+ "" X+ }; X+ X+ resource 'DLOG' (128, "FindFile") { X+ {40, 80, 100, 300}, X+ dBoxProc, X+ invisible, X+ noGoAway, X+ 0x0, X+ 128, X+ "FindFile" X+ }; X+ X+ resource 'DLOG' (129, "About NetHackI") { X+ {63, 10, 263, 360}, X+ dBoxProc, X+ invisible, X+ noGoAway, X+ 0x0, X+ 129, X+ "" X+ }; X+ X+ resource 'DITL' (128) { X+ { /* array DITLarray: 1 elements */ X+ /* [1] */ X+ {4, 8, 80, 212}, X+ StaticText { X+ disabled, X+ "Please locate^0 file^1 ^2\nor press Cance" X+ "l to abort." X+ } X+ } X+ }; X+ X+ resource 'DITL' (129) { X+ { /* array DITLarray: 8 elements */ X+ /* [1] */ X+ {155, 60, 175, 120}, X+ Button { X+ enabled, X+ "OK" X+ }, X+ /* [2] */ X+ {155, 184, 175, 274}, X+ Button { X+ enabled, X+ "More InfoI" X+ }, X+ /* [3] */ X+ {10, 28, 26, 310}, X+ Picture { X+ enabled, X+ 100 X+ }, X+ /* [4] */ X+ {68, 109, 86, 225}, X+ StaticText { X+ enabled, X+ "See license for details." X+ }, X+ /* [5] */ X+ {36, 64, 52, 291}, X+ StaticText { X+ enabled, X+ "Copyright 1985, 1986, 1987, 1988, 1989." X+ }, X+ /* [6] */ X+ {51, 37, 69, 323}, X+ StaticText { X+ enabled, X+ "By Stichting Mathematisch Centrum and Mi" X+ "ke Stephenson." X+ }, X+ /* [7] */ X+ {85, 109, 140, 333}, X+ StaticText { X+ disabled, X+ "Bug reports - email t-jlee@microsoft.UUC" X+ "P or\nJohnny Lee\n388 Cummer Ave.\nWillowda" X+ "le, Ont. CANADA M2M 2G2" X+ }, X+ /* [8] */ X+ {97, 16, 116, 110}, X+ StaticText { X+ enabled, X+ "Macintosh port by:" X+ } X+ } X+ }; X+ X+ data 'HDTA' (201, "Apple menu") { X+ $"3F 00" /* ?. */ X+ }; X+ X+ data 'HDTA' (202, "File menu") { X+ $"4F 76 00 12 10 00 53 00 51" /* Ov....S.Q */ X+ }; X+ X+ data 'HDTA' (204, "Inventory Menu") { X+ $"69 70 64 44 2C 40 2F 43" /* ipdD,@/C */ X+ }; X+ X+ data 'HDTA' (205, "Actions menu") { X+ $"61 65 71 72 74 7A 5A" /* aeqrtzZ */ X+ }; X+ X+ data 'HDTA' (206, "Preparations menu") { X+ $"77 50 52 54 57 29 5B 3D 5C 28" /* wPRTW)[=\( */ X+ }; X+ X+ data 'HDTA' (207, "Movement menu") { X+ $"6F 63 04 73 3C 3E 14 2E 45" /* oc.s<>..E */ X+ }; X+ X+ data 'HDTA' (203, "Edit menu") { X+ $"00 00 00 00 00 00" /* ...... */ X+ }; X+ X+ data 'HDTA' (208, "Extended Commands") { X+ $"63 64 66 6A 6C 6D 6E 6F 70 72 73 74 75 77" /* cdfjlmnoprstuw */ X+ }; X+ X+ data 'HDTA' (102, "graphics") { X+ $"20 BA CD C9 BB C8 BC CE CA CB B9 CC B3 C4 5C 2F"/* :MI;H<NJK9L3D\/ */ X+ $"EF FA B0 3C 3E 5E 22 7D 7B 23 5C 5F 3C 3E 23 23"/* ..0<>^"}{#\_<>## */ X+ }; X+ X+ data 'HDTA' (103, "keymap") { X+ $"2E 6C 00 00 00 68 00 6A 00 00 00 70 6B 6D 00 00"/* .l...h.j...pkm.. */ X+ $"00 69 62 6A 6E 68 6F 6C 79 00 6B 75 00 00 E3 E4"/* .ibjnholy.ku.... */ X+ $"E6 EA EC ED CE EF F2 F3 F4 F5 F7 8D B6 C4 C6 C2"/* ....N......^M6DFB */ X+ $"B5 F6 BF A8 A7 A0 E8 B7 00 00 68 6C 6A 6B" /* 5.?(' .7..hljk */ X+ }; X+ X+ data 'HDTA' (100) { X+ $"00 00 00 02 00 00 00 09 06 4D 6F 6E 61 63 6F" /* .......F.Monaco */ X+ }; X+ X+ data 'nh30' (0) { X+ $"27 4E 65 74 48 61 63 6B 20 56 65 72 73 69 6F 6E"/* 'NetHack Version */ X+ $"20 33 2E 30 67 20 66 6F 72 20 74 68 65 20 4D 61"/* 3.0g for the Ma */ X+ $"63 69 6E 74 6F 73 68 A8" /* cintosh( */ X+ }; X+ X+ resource 'MENU' (102, "File") { X+ 102, X+ textMenuProc, X+ 0x7FFFFF5F, X+ enabled, X+ "File", X+ { /* array: 9 elements */ X+ /* [1] */ X+ "Set options", noIcon, noKey, noMark, plain, X+ /* [2] */ X+ "Version number", noIcon, noKey, noMark, plain, X+ /* [3] */ X+ "Invert Screen", noIcon, noKey, noMark, plain, X+ /* [4] */ X+ "Redraw screen", noIcon, noKey, noMark, plain, X+ /* [5] */ X+ "Repeat last message", noIcon, noKey, noMark, plain, X+ /* [6] */ X+ "-", noIcon, noKey, noMark, plain, X+ /* [7] */ X+ "Save game", noIcon, noKey, noMark, plain, X+ /* [8] */ X+ "-", noIcon, noKey, noMark, plain, X+ /* [9] */ X+ "Quit", noIcon, noKey, noMark, plain X+ } X+ }; X+ X+ resource 'MENU' (103, "Edit") { X+ 103, X+ textMenuProc, X+ 0x7FFFFFFD, X+ enabled, X+ "Edit", X+ { /* array: 6 elements */ X+ /* [1] */ X+ "Undo", noIcon, "Z", noMark, plain, X+ /* [2] */ X+ "-", noIcon, noKey, noMark, plain, X+ /* [3] */ X+ "Cut", noIcon, "X", noMark, plain, X+ /* [4] */ X+ "Copy", noIcon, "C", noMark, plain, X+ /* [5] */ X+ "Paste", noIcon, "V", noMark, plain, X+ /* [6] */ X+ "Clear", noIcon, noKey, noMark, plain X+ } X+ }; X+ X+ resource 'MENU' (104, "Inventory") { X+ 104, X+ textMenuProc, X+ allEnabled, X+ enabled, X+ "Inventory", X+ { /* array: 8 elements */ X+ /* [1] */ X+ "Do inventory", noIcon, noKey, noMark, plain, X+ /* [2] */ X+ "Pay bill", noIcon, noKey, noMark, plain, X+ /* [3] */ X+ "Drop object", noIcon, noKey, noMark, plain, X+ /* [4] */ X+ "Drop several objects", noIcon, noKey, noMark, plain, X+ /* [5] */ X+ "Pick up object", noIcon, noKey, noMark, plain, X+ /* [6] */ X+ "Toggle pickup", noIcon, noKey, noMark, plain, X+ /* [7] */ X+ "Identify object", noIcon, noKey, noMark, plain, X+ /* [8] */ X+ "Name monster", noIcon, noKey, noMark, plain X+ } X+ }; X+ X+ resource 'MENU' (105, "Actions") { X+ 105, X+ textMenuProc, X+ allEnabled, X+ enabled, X+ "Action", X+ { /* array: 7 elements */ X+ /* [1] */ X+ "Apply/use object", noIcon, noKey, noMark, plain, X+ /* [2] */ X+ "Eat object", noIcon, noKey, noMark, plain, X+ /* [3] */ X+ "Quaff potion", noIcon, noKey, noMark, plain, X+ /* [4] */ X+ "Read scroll/book", noIcon, noKey, noMark, plain, X+ /* [5] */ X+ "Throw/shoot weapon", noIcon, noKey, noMark, plain, X+ /* [6] */ X+ "Zap wand", noIcon, noKey, noMark, plain, X+ /* [7] */ X+ "Cast spell", noIcon, noKey, noMark, plain X+ } X+ }; X+ X+ resource 'MENU' (106, "Preparations") { X+ 106, X+ textMenuProc, X+ allEnabled, X+ enabled, X+ "Prep", X+ { /* array: 10 elements */ X+ /* [1] */ X+ "Wield weapon", noIcon, noKey, noMark, plain, X+ /* [2] */ X+ "Put on ring", noIcon, noKey, noMark, plain, X+ /* [3] */ X+ "Remove ring", noIcon, noKey, noMark, plain, X+ /* [4] */ X+ "Remove armor", noIcon, noKey, noMark, plain, X+ /* [5] */ X+ "Wear armor", noIcon, noKey, noMark, plain, X+ /* [6] */ X+ "Current weapon", noIcon, noKey, noMark, plain, X+ /* [7] */ X+ "Current armor", noIcon, noKey, noMark, plain, X+ /* [8] */ X+ "Current rings", noIcon, noKey, noMark, plain, X+ /* [9] */ X+ "Current amulet", noIcon, noKey, noMark, plain, X+ /* [10] */ X+ "Current tools", noIcon, noKey, noMark, plain X+ } X+ }; X+ X+ resource 'MENU' (107, "Move") { X+ 107, X+ textMenuProc, X+ allEnabled, X+ enabled, X+ "Move", X+ { /* array: 9 elements */ X+ /* [1] */ X+ "Open door", noIcon, noKey, noMark, plain, X+ /* [2] */ X+ "Close door", noIcon, noKey, noMark, plain, X+ /* [3] */ X+ "Kick door", noIcon, noKey, noMark, plain, X+ /* [4] */ X+ "Search", noIcon, noKey, noMark, plain, X+ /* [5] */ X+ "Go up stairs", noIcon, noKey, noMark, plain, X+ /* [6] */ X+ "Go down stairs", noIcon, noKey, noMark, plain, X+ /* [7] */ X+ "Teleport", noIcon, noKey, noMark, plain, X+ /* [8] */ X+ "Wait", noIcon, noKey, noMark, plain, X+ /* [9] */ X+ "Engrave message", noIcon, noKey, noMark, plain X+ } X+ }; X+ X+ resource 'MENU' (108, "Extended Commands") { X+ 108, X+ textMenuProc, X+ allEnabled, X+ enabled, X+ "Extended", X+ { /* array: 14 elements */ X+ /* [1] */ X+ "Chat", noIcon, noKey, noMark, plain, X+ /* [2] */ X+ "Dip object", noIcon, noKey, noMark, plain, X+ /* [3] */ X+ "Force chest lock", noIcon, noKey, noMark, plain, X+ /* [4] */ X+ "Jump", noIcon, noKey, noMark, plain, X+ /* [5] */ X+ "Loot box", noIcon, noKey, noMark, plain, X+ /* [6] */ X+ "Use monster ability", noIcon, noKey, noMark, plain, X+ /* [7] */ X+ "Name object", noIcon, noKey, noMark, plain, X+ /* [8] */ X+ "Offer sacrifice", noIcon, noKey, noMark, plain, X+ /* [9] */ X+ "Pray", noIcon, noKey, noMark, plain, X+ /* [10] */ X+ "Rub lamp", noIcon, noKey, noMark, plain, X+ /* [11] */ X+ "Sit down", noIcon, noKey, noMark, plain, X+ /* [12] */ X+ "Turn undead", noIcon, noKey, noMark, plain, X+ /* [13] */ X+ "Untrap object", noIcon, noKey, noMark, plain, X+ /* [14] */ X+ "Wipe face", noIcon, noKey, noMark, plain X+ } X+ }; X+ X+ resource 'FOND' (151, "HackFont", preload) { X+ proportionalFont, X+ dontUseFractWidthTable, X+ useIntegerExtra, X+ useFractEnable, X+ canAdjustCharSpacing, X+ noCharWidthTable, X+ noImageHeightTable, X+ 151, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 0, X+ 1, X+ { /* array FontEntries: 1 elements */ X+ /* [1] */ X+ 9, 0, 19337 X+ }, X+ { /* array: 0 elements */ X+ }, X+ { /* array: 0 elements */ X+ }, X+ { /* array: 0 elements */ X+ }, X+ { /* array: 0 elements */ X+ } X+ }; X+ X+ resource 'FONT' (19337, purgeable) { X+ doExpandFont, X+ proportionalFont, X+ blackFont, X+ notSynthetic, X+ nofctbRsrc, X+ oneBit, X+ noCharWidthTable, X+ noImageHeightTable, X+ 0, X+ 254, X+ 6, X+ 0, X+ -9, X+ 6, X+ 11, X+ 9, X+ 2, X+ 0, X+ 63, X+ $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" X+ $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" X+ $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" X+ $"00 00 01 B0 00 00 00 00 00 00 28 82 00 00 00 00" X+ $"00 52 80 00 00 60 00 00 34 00 00 04 30 80 0A D6" X+ $"B1 12 80 0B 40 52 88 41 00 80 09 2A 80 A0 28 02" X+ $"84 28 00 2A 00 28 41 1F 81 FF E0 03 F0 00 00 00" X+ $"E7 00 40 00 F0 00 00 00 40 00 00 1C C0 00 00 10" X+ $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" X+ $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" X+ $"00 00 00 00 00 00 80 00 00 00 00 00 00 00 00 E0" X+ $"00 A1 10 04 30 08 02 05 01 44 00 08 04 11 00 00" X+ $"00 C0 00 82 44 26 D8 00 00 04 51 00 00 2B F1 12" X+ $"80 0B 40 52 88 41 00 80 09 2A 80 A0 28 02 84 28" X+ $"00 2A 00 28 41 1F 81 FF E0 1A 10 00 00 00 48 80" X+ $"A0 05 07 80 00 08 40 06 00 13 20 00 D5 39 EC 4C" X+ $"20 00 05 CB 9C 2F BB EE 70 00 0E 73 BC EF 7F EE" X+ $"8F 0C 61 18 BB CE F3 BF 18 C6 31 FF 1A 02 04 00" X+ $"10 18 21 30 80 00 00 00 04 00 00 00 01 53 5D F2" X+ $"29 42 48 14 A1 5A B9 DF 03 D4 A2 28 8A 74 41 28" X+ $"F8 84 88 4B 45 D8 80 04 92 40 0A D6 B1 12 80 0B" X+ $"40 52 88 41 00 80 09 2A 80 A0 28 02 84 28 00 2A" X+ $"00 28 41 1F 81 FF E0 26 00 7C 00 6C E8 B8 80 0A" X+ $"08 40 24 34 40 09 00 12 41 ED DF D6 B2 92 A9 00" X+ $"06 3C 62 68 40 31 88 20 91 8C 63 18 C2 11 8A 0C" X+ $"A1 BC C6 31 8C 49 18 C5 51 0D 0D 01 04 00 10 20" X+ $"20 10 80 00 00 00 04 00 00 00 01 55 A3 F0 00 00" X+ $"30 00 00 00 46 30 05 00 00 00 00 8C 49 05 44 80" X+ $"00 00 66 64 00 05 54 00 00 2B F1 12 80 0B 40 52" X+ $"88 41 00 80 09 2A 80 A0 28 02 84 28 00 2A 00 28" X+ $"41 1F 81 FF E0 46 00 24 00 13 58 C4 40 7A 08 7F" X+ $"22 54 48 19 70 72 81 25 85 52 D4 21 71 00 0A 68" X+ $"42 AF 78 31 8D 5F 41 EC 63 08 C2 10 8A 0D 21 5A" X+ $"C6 31 8C 09 18 C4 91 14 88 00 7F 9C F7 73 FD 32" X+ $"FA CE F3 EC FF 8C 6B 18 FD 50 20 A7 3D EF 7B 9C" X+ $"E7 24 C6 30 75 1C E7 46 31 8C 5D CF C5 CF 9D 1B" X+ $"56 64 80 02 AA C0 0A D6 B1 F2 83 FB 7F D2 F8 41" X+ $"00 80 09 EA FF BF EF FE FF 2B F0 2B F0 2B F1 1F" X+ $"81 FF EE CA 0F 91 F9 11 5F C5 DB 97 F8 40 F9 90" X+ $"40 E6 F8 53 FD 25 8F B9 48 21 AF CF 8A A8 8D 20" X+ $"C4 4E 88 80 22 AF FD 08 FB D3 FA 0E 21 19 C7 D1" X+ $"F3 89 18 C4 8A 24 88 00 8C 63 18 A4 63 34 D7 31" X+ $"8C 73 04 8C 6A A8 8A 08 20 A8 C6 31 8C 63 18 A4" X+ $"FF FE AF A3 18 C6 31 8C 6B 02 78 91 A3 1C CD D9" X+ $"1F FC 32 D3 20 2B FF 1E FC 43 42 1F 8F FF FF FF" X+ $"FF 2E 20 00 20 00 00 FC 0F FE 4F FC 4F FF FF FF" X+ $"F1 4A 05 0A 29 11 58 C6 35 96 09 7F 22 50 7F 10" X+ $"F8 80 1D 25 85 15 B5 21 21 00 13 29 03 F0 C4 91" X+ $"78 5F 44 F4 63 08 C2 11 8A 8D 21 18 C6 11 88 49" X+ $"18 D4 84 44 48 00 8C 61 1F A4 63 3C D6 31 8C 60" X+ $"E4 8C 6A 48 91 50 20 EF C6 31 8C 3F FF A4 C6 30" X+ $"FD 23 18 C6 31 8C 69 0F C8 91 A3 18 C4 02 10 08" X+ $"43 E4 9A D6 B1 F2 97 FB 7B F0 78 80 04 80 09 EB" X+ $"EF FE EF FE FF 03 F2 83 FA 2B F0 9F FF F8 11 46" X+ $"05 12 29 10 E8 C6 3B A6 08 40 24 30 40 E0 FE 80" X+ $"1D 25 00 56 B2 12 01 00 12 2A 22 28 C4 91 08 20" X+ $"80 84 63 18 C2 11 8A 8C A1 18 C6 11 8C 49 15 6D" X+ $"44 84 48 00 9C 61 18 24 63 32 D6 31 8C 60 14 9A" X+ $"AA A8 A1 50 22 48 4E 73 9C 21 08 24 C6 30 A5 23" X+ $"18 CE 71 8C 6B 12 5C 93 A3 38 C7 FE 30 08 80 E4" X+ $"90 2B F1 12 94 4B 4A 00 00 80 04 80 09 28 28 02" X+ $"A8 02 80 00 42 80 4A 28 40 9F FF F8 11 46 05 26" X+ $"29 10 48 AA 20 A5 08 7F 00 10 49 00 71 00 01 25" X+ $"80 3A 4D 0C 00 10 61 CF DC 27 38 8E 75 00 04 74" X+ $"7C EF 7E 0E 8F 74 7F 18 BA 0E 8B 88 E2 46 24 FE" X+ $"38 FC 6F 9E F7 A3 E3 31 D6 2E F3 E1 E3 69 15 17" X+ $"FD 50 1C 47 B5 AD 6B DE F7 A4 C6 3F BD DC E7 35" X+ $"AF 73 9D E2 48 8D 9C D8 C4 01 C0 00 E0 D3 2A D6" X+ $"B1 12 94 4B 4A 00 00 80 04 80 09 28 28 02 A8 02" X+ $"80 00 42 80 4A 28 40 9F FF F8 0E DA 05 7D CE 90" X+ $"E7 6D C0 78 F8 40 FF F2 40 00 01 00 01 ED 00 10" X+ $"00 00 00 10 20 00 00 00 00 00 01 00 00 00 00 00" X+ $"00 00 00 00 00 00 00 01 00 00 00 00 00 00 20 00" X+ $"00 00 00 00 40 20 00 00 80 40 00 00 00 00 80 E0" X+ $"04 E0 00 00 01 00 00 00 00 00 00 00 00 00 01 00" X+ $"08 00 0C 80 00 00 00 00 00 00 00 00 00 2B F1 12" X+ $"94 4B 4A 00 00 80 04 80 09 28 28 02 A8 02 80 00" X+ $"42 80 4A 28 40 9F FF F8 00 40 00 00 08 00 00 00" X+ $"00 40 0F C0 00 12 40 00 00 00 00 00 00 00 00 00" X+ $"00 20 00 00 00 00 00 00 02 00 00 00 00 00 00 00" X+ $"00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00" X+ $"00 03 80 C0 00 00 80 40 00 00 00 07 00 00 08 00" X+ $"00 00 02 00 00 00 00 00 00 00 00 00 0E 00 00 00" X+ $"03 00 00 00 00 00 00 00 00 00 0A D6 B1 12 94 4B" X+ $"4A 00 00 80 04 80 09 28 28 02 A8 02 80 00 42 80" X+ $"4A 28 40 9F FF F8 00 00 00 00 08 00 00 00 00 80" X+ $"00 00 00 11 80 00 00 00 00 00", X+ { /* array: 257 elements */ X+ /* [1] */ X+ 0, X+ /* [2] */ X+ 0, X+ /* [3] */ X+ 0, X+ /* [4] */ X+ 0, X+ /* [5] */ X+ 0, X+ /* [6] */ X+ 0, X+ /* [7] */ X+ 0, X+ /* [8] */ X+ 0, X+ /* [9] */ X+ 0, X+ /* [10] */ X+ 0, X+ /* [11] */ X+ 0, X+ /* [12] */ X+ 0, X+ /* [13] */ X+ 0, X+ /* [14] */ X+ 0, X+ /* [15] */ X+ 0, X+ /* [16] */ X+ 0, X+ /* [17] */ X+ 0, X+ /* [18] */ X+ 0, X+ /* [19] */ X+ 0, X+ /* [20] */ X+ 0, X+ /* [21] */ X+ 0, X+ /* [22] */ X+ 0, X+ /* [23] */ X+ 0, X+ /* [24] */ X+ 0, X+ /* [25] */ X+ 0, X+ /* [26] */ X+ 0, X+ /* [27] */ X+ 0, X+ /* [28] */ X+ 0, X+ /* [29] */ X+ 0, X+ /* [30] */ X+ 0, X+ /* [31] */ X+ 0, X+ /* [32] */ X+ 0, X+ /* [33] */ X+ 0, X+ /* [34] */ X+ 0, X+ /* [35] */ X+ 1, X+ /* [36] */ X+ 4, X+ /* [37] */ X+ 9, X+ /* [38] */ X+ 14, X+ /* [39] */ X+ 19, X+ /* [40] */ X+ 24, X+ /* [41] */ X+ 26, X+ /* [42] */ X+ 29, X+ /* [43] */ X+ 32, X+ /* [44] */ X+ 37, X+ /* [45] */ X+ 42, X+ /* [46] */ X+ 44, X+ /* [47] */ X+ 49, X+ /* [48] */ X+ 50, X+ /* [49] */ X+ 54, X+ /* [50] */ X+ 59, X+ /* [51] */ X+ 61, X+ /* [52] */ X+ 66, X+ /* [53] */ X+ 71, X+ /* [54] */ X+ 76, X+ /* [55] */ X+ 81, X+ /* [56] */ X+ 86, X+ /* [57] */ X+ 91, X+ /* [58] */ X+ 96, X+ /* [59] */ X+ 101, X+ /* [60] */ X+ 102, X+ /* [61] */ X+ 104, X+ /* [62] */ X+ 107, X+ /* [63] */ X+ 112, X+ /* [64] */ X+ 115, X+ /* [65] */ X+ 120, X+ /* [66] */ X+ 125, X+ /* [67] */ X+ 130, X+ /* [68] */ X+ 135, X+ /* [69] */ X+ 140, X+ /* [70] */ X+ 145, X+ /* [71] */ X+ 150, X+ /* [72] */ X+ 155, X+ /* [73] */ X+ 160, X+ /* [74] */ X+ 165, X+ /* [75] */ X+ 168, X+ /* [76] */ X+ 173, X+ /* [77] */ X+ 178, X+ /* [78] */ X+ 183, X+ /* [79] */ X+ 188, X+ /* [80] */ X+ 193, X+ /* [81] */ X+ 198, X+ /* [82] */ X+ 203, X+ /* [83] */ X+ 208, X+ /* [84] */ X+ 213, X+ /* [85] */ X+ 218, X+ /* [86] */ X+ 223, X+ /* [87] */ X+ 228, X+ /* [88] */ X+ 233, X+ /* [89] */ X+ 238, X+ /* [90] */ X+ 243, X+ /* [91] */ X+ 248, X+ /* [92] */ X+ 253, X+ /* [93] */ X+ 255, X+ /* [94] */ X+ 259, X+ /* [95] */ X+ 261, X+ /* [96] */ X+ 264, X+ /* [97] */ X+ 270, X+ /* [98] */ X+ 272, X+ /* [99] */ X+ 277, X+ /* [100] */ X+ 282, X+ /* [101] */ X+ 287, X+ /* [102] */ X+ 292, X+ /* [103] */ X+ 297, X+ /* [104] */ X+ 301, X+ /* [105] */ X+ 306, X+ /* [106] */ X+ 311, X+ /* [107] */ X+ 312, X+ /* [108] */ X+ 315, X+ /* [109] */ X+ 320, X+ /* [110] */ X+ 321, X+ /* [111] */ X+ 326, X+ /* [112] */ X+ 331, X+ /* [113] */ X+ 336, X+ /* [114] */ X+ 341, X+ /* [115] */ X+ 346, X+ /* [116] */ X+ 351, X+ /* [117] */ X+ 356, X+ /* [118] */ X+ 360, X+ /* [119] */ X+ 365, X+ /* [120] */ X+ 370, X+ /* [121] */ X+ 375, X+ /* [122] */ X+ 380, X+ /* [123] */ X+ 385, X+ /* [124] */ X+ 390, X+ /* [125] */ X+ 393, X+ /* [126] */ X+ 394, X+ /* [127] */ X+ 397, X+ /* [128] */ X+ 402, X+ /* [129] */ X+ 402, X+ /* [130] */ X+ 407, X+ /* [131] */ X+ 412, X+ /* [132] */ X+ 417, X+ /* [133] */ X+ 422, X+ /* [134] */ X+ 427, X+ /* [135] */ X+ 432, X+ /* [136] */ X+ 437, X+ /* [137] */ X+ 442, X+ /* [138] */ X+ 447, X+ /* [139] */ X+ 452, X+ /* [140] */ X+ 457, X+ /* [141] */ X+ 460, X+ /* [142] */ X+ 463, X+ /* [143] */ X+ 465, X+ /* [144] */ X+ 470, X+ /* [145] */ X+ 475, X+ /* [146] */ X+ 480, X+ /* [147] */ X+ 485, X+ /* [148] */ X+ 490, X+ /* [149] */ X+ 495, X+ /* [150] */ X+ 500, X+ /* [151] */ X+ 505, X+ /* [152] */ X+ 510, X+ /* [153] */ X+ 515, X+ /* [154] */ X+ 520, X+ /* [155] */ X+ 525, X+ /* [156] */ X+ 530, X+ /* [157] */ X+ 535, X+ /* [158] */ X+ 540, X+ /* [159] */ X+ 545, X+ /* [160] */ X+ 550, X+ /* [161] */ X+ 555, X+ /* [162] */ X+ 560, X+ /* [163] */ X+ 562, X+ /* [164] */ X+ 567, X+ /* [165] */ X+ 572, X+ /* [166] */ X+ 577, X+ /* [167] */ X+ 582, X+ /* [168] */ X+ 586, X+ /* [169] */ X+ 590, X+ /* [170] */ X+ 595, X+ /* [171] */ X+ 600, X+ /* [172] */ X+ 605, X+ /* [173] */ X+ 611, X+ /* [174] */ X+ 617, X+ /* [175] */ X+ 618, X+ /* [176] */ X+ 623, X+ /* [177] */ X+ 628, X+ /* [178] */ X+ 633, X+ /* [179] */ X+ 638, X+ /* [180] */ X+ 643, X+ /* [181] */ X+ 644, X+ /* [182] */ X+ 648, X+ /* [183] */ X+ 652, X+ /* [184] */ X+ 657, X+ /* [185] */ X+ 662, X+ /* [186] */ X+ 666, X+ /* [187] */ X+ 671, X+ /* [188] */ X+ 674, X+ /* [189] */ X+ 679, X+ /* [190] */ X+ 684, X+ /* [191] */ X+ 689, X+ /* [192] */ X+ 693, X+ /* [193] */ X+ 697, X+ /* [194] */ X+ 700, X+ /* [195] */ X+ 706, X+ /* [196] */ X+ 712, X+ /* [197] */ X+ 715, X+ /* [198] */ X+ 721, X+ /* [199] */ X+ 727, X+ /* [200] */ X+ 730, X+ /* [201] */ X+ 734, X+ /* [202] */ X+ 738, X+ /* [203] */ X+ 742, X+ /* [204] */ X+ 748, X+ /* [205] */ X+ 754, X+ /* [206] */ X+ 758, X+ /* [207] */ X+ 764, X+ /* [208] */ X+ 770, X+ /* [209] */ X+ 776, X+ /* [210] */ X+ 782, X+ /* [211] */ X+ 788, X+ /* [212] */ X+ 794, X+ /* [213] */ X+ 798, X+ /* [214] */ X+ 801, X+ /* [215] */ X+ 804, X+ /* [216] */ X+ 808, X+ /* [217] */ X+ 814, X+ /* [218] */ X+ 820, X+ /* [219] */ X+ 824, X+ /* [220] */ X+ 827, X+ /* [221] */ X+ 833, X+ /* [222] */ X+ 839, X+ /* [223] */ X+ 842, X+ /* [224] */ X+ 845, X+ /* [225] */ X+ 851, X+ /* [226] */ X+ 857, X+ /* [227] */ X+ 862, X+ /* [228] */ X+ 868, X+ /* [229] */ X+ 873, X+ /* [230] */ X+ 878, X+ /* [231] */ X+ 884, X+ /* [232] */ X+ 889, X+ /* [233] */ X+ 895, X+ /* [234] */ X+ 900, X+ /* [235] */ X+ 905, X+ /* [236] */ X+ 910, X+ /* [237] */ X+ 915, X+ /* [238] */ X+ 920, X+ /* [239] */ X+ 926, X+ /* [240] */ X+ 932, X+ /* [241] */ X+ 938, X+ /* [242] */ X+ 944, X+ /* [243] */ X+ 949, X+ /* [244] */ X+ 952, X+ /* [245] */ X+ 955, X+ /* [246] */ X+ 958, X+ /* [247] */ X+ 962, X+ /* [248] */ X+ 967, X+ /* [249] */ X+ 972, X+ /* [250] */ X+ 976, X+ /* [251] */ X+ 981, X+ /* [252] */ X+ 982, X+ /* [253] */ X+ 987, X+ /* [254] */ X+ 991, X+ /* [255] */ X+ 995, X+ /* [256] */ X+ 998, X+ /* [257] */ X+ 1004 X+ }, X+ { /* array: 257 elements */ X+ /* [1] */ X+ 6, X+ /* [2] */ X+ 6, X+ /* [3] */ X+ 6, X+ /* [4] */ X+ 6, X+ /* [5] */ X+ 6, X+ /* [6] */ X+ 6, X+ /* [7] */ X+ 6, X+ /* [8] */ X+ 6, X+ /* [9] */ X+ 6, X+ /* [10] */ X+ 6, X+ /* [11] */ X+ 6, X+ /* [12] */ X+ 6, X+ /* [13] */ X+ 6, X+ /* [14] */ X+ 6, X+ /* [15] */ X+ 6, X+ /* [16] */ X+ 6, X+ /* [17] */ X+ 6, X+ /* [18] */ X+ 6, X+ /* [19] */ X+ 6, X+ /* [20] */ X+ 6, X+ /* [21] */ X+ 6, X+ /* [22] */ X+ 6, X+ /* [23] */ X+ 6, X+ /* [24] */ X+ 6, X+ /* [25] */ X+ 6, X+ /* [26] */ X+ 6, X+ /* [27] */ X+ 6, X+ /* [28] */ X+ 6, X+ /* [29] */ X+ 6, X+ /* [30] */ X+ 6, X+ /* [31] */ X+ 6, X+ /* [32] */ X+ 6, X+ /* [33] */ X+ 1542, X+ /* [34] */ X+ 518, X+ /* [35] */ X+ 262, X+ /* [36] */ X+ 6, X+ /* [37] */ X+ 6, X+ /* [38] */ X+ 6, X+ /* [39] */ X+ 6, X+ /* [40] */ X+ 518, X+ /* [41] */ X+ 262, X+ /* [42] */ X+ 518, X+ /* [43] */ X+ 6, X+ /* [44] */ X+ 6, X+ /* [45] */ X+ 262, X+ /* [46] */ X+ 6, X+ /* [47] */ X+ 518, X+ /* [48] */ X+ 262, X+ /* [49] */ X+ 6, X+ /* [50] */ X+ 518, X+ /* [51] */ X+ 6, X+ /* [52] */ X+ 6, X+ /* [53] */ X+ 6, X+ /* [54] */ X+ 6, X+ /* [55] */ X+ 6, X+ /* [56] */ X+ 6, X+ /* [57] */ X+ 6, X+ /* [58] */ X+ 6, X+ /* [59] */ X+ 518, X+ /* [60] */ X+ 262, X+ /* [61] */ X+ 262, X+ /* [62] */ X+ 6, X+ /* [63] */ X+ 262, X+ /* [64] */ X+ 6, X+ /* [65] */ X+ 6, X+ /* [66] */ X+ 6, X+ /* [67] */ X+ 6, X+ /* [68] */ X+ 6, X+ /* [69] */ X+ 6, X+ /* [70] */ X+ 6, X+ /* [71] */ X+ 6, X+ /* [72] */ X+ 6, X+ /* [73] */ X+ 6, X+ /* [74] */ X+ 262, X+ /* [75] */ X+ 6, X+ /* [76] */ X+ 6, X+ /* [77] */ X+ 6, X+ /* [78] */ X+ 6, X+ /* [79] */ X+ 6, X+ /* [80] */ X+ 6, X+ /* [81] */ X+ 6, X+ /* [82] */ X+ 6, X+ /* [83] */ X+ 6, X+ /* [84] */ X+ 6, X+ /* [85] */ X+ 6, X+ /* [86] */ X+ 6, X+ /* [87] */ X+ 6, X+ /* [88] */ X+ 6, X+ /* [89] */ X+ 6, X+ /* [90] */ X+ 6, X+ /* [91] */ X+ 6, X+ /* [92] */ X+ 518, X+ /* [93] */ X+ 262, X+ /* [94] */ X+ 518, X+ /* [95] */ X+ 262, X+ /* [96] */ X+ 6, X+ /* [97] */ X+ 262, X+ /* [98] */ X+ 6, X+ /* [99] */ X+ 6, X+ /* [100] */ X+ 6, X+ /* [101] */ X+ 6, X+ /* [102] */ X+ 6, X+ /* [103] */ X+ 262, X+ /* [104] */ X+ 6, X+ /* [105] */ X+ 6, X+ /* [106] */ X+ 518, X+ /* [107] */ X+ 6, X+ /* [108] */ X+ 6, X+ /* [109] */ X+ 518, X+ /* [110] */ X+ 6, X+ /* [111] */ X+ 6, X+ /* [112] */ X+ 6, X+ /* [113] */ X+ 6, X+ /* [114] */ X+ 6, X+ /* [115] */ X+ 6, X+ /* [116] */ X+ 6, X+ /* [117] */ X+ 262, X+ /* [118] */ X+ 6, X+ /* [119] */ X+ 6, X+ /* [120] */ X+ 6, X+ /* [121] */ X+ 6, X+ /* [122] */ X+ 6, X+ /* [123] */ X+ 6, X+ /* [124] */ X+ 518, X+ /* [125] */ X+ 518, X+ /* [126] */ X+ 262, X+ /* [127] */ X+ 6, X+ /* [128] */ X+ 0, X+ /* [129] */ X+ 6, X+ /* [130] */ X+ 6, X+ /* [131] */ X+ 6, X+ /* [132] */ X+ 6, X+ /* [133] */ X+ 6, X+ /* [134] */ X+ 6, X+ /* [135] */ X+ 6, X+ /* [136] */ X+ 6, X+ /* [137] */ X+ 6, X+ /* [138] */ X+ 6, X+ /* [139] */ X+ 6, X+ /* [140] */ X+ 262, X+ /* [141] */ X+ 262, X+ /* [142] */ X+ 262, X+ /* [143] */ X+ 6, X+ /* [144] */ X+ 6, X+ /* [145] */ X+ 6, X+ /* [146] */ X+ 6, X+ /* [147] */ X+ 6, X+ /* [148] */ X+ 6, X+ /* [149] */ X+ 6, X+ /* [150] */ X+ 6, X+ /* [151] */ X+ 6, X+ /* [152] */ X+ 6, X+ /* [153] */ X+ 6, X+ /* [154] */ X+ 6, X+ /* [155] */ X+ 6, X+ /* [156] */ X+ 6, X+ /* [157] */ X+ 6, X+ /* [158] */ X+ 6, X+ /* [159] */ X+ 6, X+ /* [160] */ X+ 6, X+ /* [161] */ X+ 6, X+ /* [162] */ X+ 518, X+ /* [163] */ X+ 6, X+ /* [164] */ X+ 6, X+ /* [165] */ X+ 6, X+ /* [166] */ X+ 6, X+ /* [167] */ X+ 262, X+ /* [168] */ X+ 262, X+ /* [169] */ X+ 6, X+ /* [170] */ X+ 6, X+ /* [171] */ X+ 6, X+ /* [172] */ X+ 6, X+ /* [173] */ X+ 6, X+ /* [174] */ X+ 774, X+ /* [175] */ X+ 6, X+ /* [176] */ X+ 6, X+ /* [177] */ X+ 6, X+ /* [178] */ X+ 6, X+ /* [179] */ X+ 6, X+ /* [180] */ X+ 774, X+ /* [181] */ X+ 6, X+ /* [182] */ X+ 6, X+ /* [183] */ X+ 6, X+ /* [184] */ X+ 6, X+ /* [185] */ X+ 6, X+ /* [186] */ X+ 6, X+ /* [187] */ X+ 518, X+ /* [188] */ X+ 6, X+ /* [189] */ X+ 6, X+ /* [190] */ X+ 6, X+ /* [191] */ X+ 6, X+ /* [192] */ X+ 6, X+ /* [193] */ X+ 774, X+ /* [194] */ X+ 6, X+ /* [195] */ X+ 6, X+ /* [196] */ X+ 774, X+ /* [197] */ X+ 6, X+ /* [198] */ X+ 6, X+ /* [199] */ X+ 774, X+ /* [200] */ X+ 518, X+ /* [201] */ X+ 518, X+ /* [202] */ X+ 518, X+ /* [203] */ X+ 6, X+ /* [204] */ X+ 6, X+ /* [205] */ X+ 518, X+ /* [206] */ X+ 6, X+ /* [207] */ X+ 6, X+ /* [208] */ X+ 6, X+ /* [209] */ X+ 6, X+ /* [210] */ X+ 6, X+ /* [211] */ X+ 6, X+ /* [212] */ X+ 518, X+ /* [213] */ X+ 774, X+ /* [214] */ X+ 774, X+ /* [215] */ X+ 518, X+ /* [216] */ X+ 6, X+ /* [217] */ X+ 6, X+ /* [218] */ X+ 6, X+ /* [219] */ X+ 774, X+ /* [220] */ X+ 6, X+ /* [221] */ X+ 6, X+ /* [222] */ X+ 6, X+ /* [223] */ X+ 774, X+ /* [224] */ X+ 6, X+ /* [225] */ X+ 6, X+ /* [226] */ X+ 6, X+ /* [227] */ X+ 6, X+ /* [228] */ X+ 6, X+ /* [229] */ X+ 6, X+ /* [230] */ X+ 6, X+ /* [231] */ X+ 6, X+ /* [232] */ X+ 6, X+ /* [233] */ X+ 6, X+ /* [234] */ X+ 6, X+ /* [235] */ X+ 6, X+ /* [236] */ X+ 6, X+ /* [237] */ X+ 6, X+ /* [238] */ X+ 6, X+ /* [239] */ X+ 6, X+ /* [240] */ X+ 6, X+ /* [241] */ X+ 6, X+ /* [242] */ X+ 6, X+ /* [243] */ X+ 262, X+ /* [244] */ X+ 262, X+ /* [245] */ X+ 774, X+ /* [246] */ X+ 6, X+ /* [247] */ X+ 6, X+ /* [248] */ X+ 6, X+ /* [249] */ X+ 262, X+ /* [250] */ X+ 6, X+ /* [251] */ X+ 518, X+ /* [252] */ X+ 6, X+ /* [253] */ X+ 6, X+ /* [254] */ X+ 6, X+ /* [255] */ X+ 262, X+ /* [256] */ X+ 6, X+ /* [257] */ X+ -1 X+ } X+ }; X+ X+ resource 'PICT' (100) { X+ 588, X+ {32, 121, 46, 403}, X+ $"11 01 A0 00 82 A0 00 8E 01 00 0A 00 20 00 71 02" X+ $"D0 02 40 98 00 24 00 00 00 08 00 0E 01 28 00 00" X+ $"00 08 00 0E 01 22 00 20 00 79 00 2E 01 93 00 01" X+ $"21 0F F8 7E 00 00 7F 3F 80 00 01 E0 00 7E 00 3C" X+ $"00 1E FE 00 06 01 E0 00 00 3F 03 F0 FA 00 02 01" X+ $"E0 00 22 05 38 18 00 00 1C 0E FE 00 06 E0 00 E7" X+ $"00 E7 00 3F FD 00 08 E0 00 00 0F 03 C0 00 00 1C" X+ $"FC 00 01 E0 00 25 05 3C 18 00 1C 1C 0E FE 00 06" X+ $"E0 00 E3 80 E7 00 77 FE 00 0B 70 E0 00 00 0F 87" X+ $"C0 00 00 1C 00 07 FE 00 01 E0 00 24 05 3E 18 00" X+ $"1C 1C 0E FE 00 06 E0 00 03 81 C3 80 70 FE 00 06" X+ $"70 E0 00 00 0F 87 C0 FD 00 00 07 FE 00 01 E0 00" X+ $"24 05 3F 18 00 1C 1C 0E FE 00 06 E0 00 03 81 C3" X+ $"80 70 FE 00 06 70 E0 00 00 0F 87 C0 FD 00 00 07" X+ $"FE 00 01 E0 00 25 23 37 18 3E 3F 1C 0E 07 81 F0" X+ $"EF 80 07 01 C3 81 FC 7E 3D C0 FC FF 07 C0 0D CD" X+ $"C0 F0 3E 3C FF 8F C7 E1 FC FF 00 25 23 33 98 77" X+ $"1C 1F FE 1C C3 9C E6 00 3E 01 C3 80 70 E7 1F C0" X+ $"70 F7 8E E0 0D CD C3 98 73 9C 7B C7 0E 73 9C F7" X+ $"80 25 23 33 D8 E3 9C 1C 0E 1C E7 1C EC 00 07 01" X+ $"C3 80 71 C3 9E 00 70 E3 9C 70 0D CD C3 9C E3 9C" X+ $"71 C7 1C 3B 0C E3 80 25 23 31 D8 E3 9C 1C 0E 00" X+ $"E7 00 F8 00 03 81 C3 80 71 C3 9C 00 70 E3 9C 70" X+ $"0C F9 C0 1C E0 1C 71 C7 1C 3B C0 E3 80 25 23 30" X+ $"F8 FF 9C 1C 0E 07 E7 00 F8 00 03 81 C3 80 71 C3" X+ $"9C 00 70 E3 9F F0 0C F9 C0 FC E0 1C 71 C7 1C 39" X+ $"F8 E3 80 25 23 30 F8 E0 1C 1C 0E 1C E7 00 FC 00" X+ $"03 81 C3 80 71 C3 9C 00 70 E3 9C 00 0C F9 C3 9C" X+ $"E0 1C 71 C7 1C 38 3C E3 80 25 23 30 78 E1 9C 1C" X+ $"0E 38 E7 0C EE 01 C3 80 E7 00 71 C3 9C 00 70 E3" X+ $"9C 30 0C 71 C7 1C E1 9C 71 C7 1C 3B 0C E3 80 25" X+ $"23 30 38 73 9D 9C 0E 39 E3 9C E7 01 C7 1C E7 00" X+ $"70 E7 1C 00 76 E3 8E 70 0C 71 C7 3C 73 9C 71 C7" X+ $"6E 73 9C E3 80 25 23 FC 18 3F 0F 7F 3F 9F F1 F9" X+ $"FF C0 FE 1C 3C 00 F8 7E 3E 00 3D F7 C7 E0 3F 77" X+ $"F3 FE 3F 3E FB E3 C7 E3 F9 F7 C0 A0 00 8F A0 00" X+ $"83 FF" X+ }; X END_OF_FILE if test 55526 -ne `wc -c <'patches05b'`; then echo shar: \"'patches05b'\" unpacked with wrong size! fi # end of 'patches05b' fi echo shar: End of archive 2 \(of 6\). cp /dev/null ark2isdone MISSING="" for I in 1 2 3 4 5 6 ; do if test ! -f ark${I}isdone ; then MISSING="${MISSING} ${I}" fi done if test "${MISSING}" = "" ; then echo You have unpacked all 6 archives. rm -f ark[1-9]isdone else echo You still need to unpack the following archives: echo " " ${MISSING} fi ## End of shell archive. exit 0