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