xbill-2.1/0040755000076400007640000000000007375137010012675 5ustar bwellingbwellingxbill-2.1/bitmaps/0040755000076400007640000000000007375137010014334 5ustar bwellingbwellingxbill-2.1/bitmaps/apple.xbm0100644000076400007640000000107307363174040016144 0ustar bwellingbwelling#define apple_width 28 #define apple_height 24 static char apple_bits[] = { 0x00,0x80,0x07,0x00,0x00,0xc0,0x03,0x00,0x00,0xc0,0x03,0x00,0x00,0xc0,0x01, 0x00,0x00,0x43,0x0c,0x00,0xc0,0x0f,0x3f,0x00,0xe0,0xff,0x7f,0x00,0xe0,0xff, 0x7f,0x00,0xf0,0xff,0x1f,0x00,0xf0,0xff,0x0f,0x00,0xf0,0xff,0x0f,0x00,0xf0, 0xff,0x0f,0x00,0xf0,0xff,0x0f,0x00,0xf0,0xff,0x0f,0x00,0xf0,0xff,0x1f,0x00, 0xe0,0xff,0x3f,0x00,0xe0,0xff,0x7f,0x00,0xe0,0xff,0x3f,0x00,0xc0,0xff,0x3f, 0x00,0xc0,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x00,0xff,0x0f,0x00,0x00,0x0c, 0x03,0x00,0x00,0x00,0x00,0x00}; xbill-2.1/bitmaps/bsd.xbm0100644000076400007640000000106507363174040015614 0ustar bwellingbwelling#define bsd_width 28 #define bsd_height 24 static char bsd_bits[] = { 0x00,0x00,0x00,0x00,0x00,0x18,0x00,0x00,0x00,0x18,0x10,0x00,0x00,0xf0,0x31, 0x00,0x00,0xf8,0x37,0x00,0x00,0xf8,0x3f,0x00,0x00,0xf8,0x1f,0x00,0x40,0xf8, 0x07,0x00,0x90,0xfc,0x07,0x00,0xa0,0xfc,0x07,0x00,0xc8,0xf9,0x03,0x00,0xb0, 0xf1,0x01,0x00,0x00,0xe6,0x01,0x00,0x00,0xee,0x01,0x00,0x00,0xfc,0x01,0x00, 0x00,0xf0,0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0xf8,0x01,0x00,0x00,0xf8,0x03, 0x00,0x00,0xf0,0x1f,0x00,0x00,0xf8,0xf1,0x00,0x00,0xff,0x01,0x01,0x00,0xf7, 0xc1,0x00,0x00,0x60,0x00,0x00}; xbill-2.1/bitmaps/bucket.xbm0100644000076400007640000000070207363174040016316 0ustar bwellingbwelling#define bucket_width 24 #define bucket_height 24 static char bucket_bits[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x7e,0x00,0xe0,0xff,0x07,0x78,0xff,0x1f, 0x78,0xff,0x1f,0x7c,0xc0,0x3f,0x1c,0x80,0x3f,0x1c,0x80,0x3f,0xfc,0xc3,0x3f, 0xf8,0xff,0x1b,0xf8,0xff,0x1b,0xf8,0xff,0x19,0xf8,0xff,0x19,0xf8,0xff,0x1d, 0xf0,0xff,0x1d,0xf0,0xff,0x1d,0xf0,0xff,0x1f,0xf0,0xff,0x0f,0xe0,0xff,0x05, 0xc0,0xff,0x03,0x00,0xff,0x00,0x00,0x00,0x00,0x00,0x00,0x00}; xbill-2.1/bitmaps/hand_down.xbm0100644000076400007640000000037707363174040017012 0ustar bwellingbwelling#define hand_down_width 16 #define hand_down_height 16 static char hand_down_bits[] = { 0x00,0x00,0xc0,0x01,0x22,0x23,0x24,0x14,0x20,0x04,0x20,0x08,0x30,0x08,0x2b, 0x68,0x28,0x08,0x28,0x08,0x08,0x08,0x08,0x08,0x10,0x04,0x24,0x14,0x22,0x24, 0x00,0x00}; xbill-2.1/bitmaps/hand_down_mask.xbm0100644000076400007640000000046107363174040020017 0ustar bwellingbwelling#define hand_down_mask_width 16 #define hand_down_mask_height 16 static char hand_down_mask_bits[] = { 0x00, 0x00, 0xc0, 0x01, 0xe2, 0x23, 0xe4, 0x17, 0xe0, 0x07, 0xe0, 0x0f, 0xf0, 0x0f, 0xfb, 0x6f, 0xf8, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0xf8, 0x0f, 0xf0, 0x07, 0xe4, 0x17, 0xe2, 0x27, 0x00, 0x00}; xbill-2.1/bitmaps/hand_up.xbm0100644000076400007640000000037107363174040016461 0ustar bwellingbwelling#define hand_up_width 16 #define hand_up_height 16 static char hand_up_bits[] = { 0x80,0x03,0xe0,0x06,0xa0,0x1a,0xa0,0x2a,0xa0,0x2a,0xb0,0x2a,0xa8,0x2a,0x28, 0x28,0x28,0x20,0x28,0x20,0x08,0x20,0x08,0x20,0x10,0x20,0x20,0x10,0x40,0x10, 0x40,0x10}; xbill-2.1/bitmaps/hand_up_mask.xbm0100644000076400007640000000045307363174040017475 0ustar bwellingbwelling#define hand_up_mask_width 16 #define hand_up_mask_height 16 static char hand_up_mask_bits[] = { 0x80, 0x03, 0xe0, 0x07, 0xe0, 0x1f, 0xe0, 0x3f, 0xe0, 0x3f, 0xf0, 0x3f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf8, 0x3f, 0xf0, 0x3f, 0xe0, 0x1f, 0xc0, 0x1f, 0xc0, 0x1f}; xbill-2.1/bitmaps/hurd.xbm0100644000076400007640000000107007363174040016002 0ustar bwellingbwelling#define hurd_width 28 #define hurd_height 24 static char hurd_bits[] = { 0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x00, 0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00, 0x00,0xf0,0xc4,0x22,0xef,0xf1,0xc4,0x22,0x2d,0xf3,0xc4,0x22,0x29,0xf3,0xc4, 0x22,0x2d,0xf2,0xfc,0x22,0x27,0xf2,0xc4,0x22,0x27,0xf2,0xc4,0x22,0x25,0xf3, 0xc4,0x36,0x2d,0xf3,0x04,0x1c,0xe9,0xf1,0x00,0x00,0x00,0xf0,0x00,0x00,0x00, 0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xf0,0x00,0x00, 0x00,0xf0,0x00,0x00,0x00,0xf0}; xbill-2.1/bitmaps/linux.xbm0100644000076400007640000000107307363174040016202 0ustar bwellingbwelling#define linux_width 28 #define linux_height 24 static char linux_bits[] = { 0x00,0xf0,0x00,0xf0,0x00,0xf8,0x01,0xf0,0x00,0xfc,0x03,0xf0,0x00,0xfc,0x03, 0xf0,0x00,0x78,0x03,0xf0,0x00,0xfc,0x03,0xf0,0x00,0x88,0x07,0xf0,0x00,0xac, 0x07,0xf0,0x00,0x28,0x06,0xf0,0x00,0x04,0x0e,0xf0,0x00,0x06,0x1e,0xf0,0x00, 0x03,0x1c,0xf0,0x00,0x03,0x3c,0xf0,0x80,0x01,0x3c,0xf0,0x80,0x01,0x78,0xf0, 0x80,0x01,0x78,0xf0,0xc0,0x01,0x78,0xf0,0xc0,0x02,0x7c,0xf0,0x50,0x06,0x5c, 0xf0,0x90,0x0c,0xa2,0xf0,0x10,0x02,0x86,0xf0,0x50,0xd9,0xd3,0xf0,0xf0,0xfe, 0x2f,0xf0,0x80,0x0f,0x1e,0xf0}; xbill-2.1/bitmaps/next.xbm0100644000076400007640000000107007363174040016016 0ustar bwellingbwelling#define next_width 28 #define next_height 24 static char next_bits[] = { 0x00,0x00,0x0f,0x00,0x00,0xe0,0x1f,0x00,0x00,0xfc,0x18,0x00,0x80,0x77,0x3b, 0x00,0xf0,0x6f,0x3c,0x00,0x30,0x6e,0x77,0x00,0x70,0xd1,0x78,0x00,0xf0,0x8e, 0x8f,0x00,0xf0,0xbe,0xf1,0x00,0xf8,0x7d,0xee,0x01,0xf8,0x39,0xef,0x01,0xf8, 0x83,0xdf,0x03,0xf8,0x1f,0xdf,0x03,0xf8,0x9f,0xf8,0x00,0xf8,0xcf,0xdf,0x03, 0xf0,0xef,0xfb,0x01,0xf0,0x7f,0xff,0x01,0xe0,0xff,0xff,0x01,0xe0,0xff,0xff, 0x01,0xc0,0xf7,0xff,0x00,0xc0,0xff,0xff,0x00,0x80,0xff,0x3f,0x00,0x80,0xfb, 0x07,0x00,0x00,0xfb,0x00,0x00}; xbill-2.1/bitmaps/os2.xbm0100644000076400007640000000106507363174040015547 0ustar bwellingbwelling#define os2_width 28 #define os2_height 24 static char os2_bits[] = { 0x00,0xf0,0x00,0x00,0x00,0xfc,0x03,0x00,0x00,0x0f,0x0f,0x00,0xc0,0x01,0x38, 0x00,0x60,0x00,0x60,0x00,0x20,0x00,0x40,0x00,0x30,0x00,0xc4,0x00,0x10,0x00, 0x84,0x00,0xd8,0x7b,0xbe,0x01,0x58,0x4a,0xae,0x01,0x4c,0x0a,0x22,0x03,0x4c, 0x3a,0x33,0x03,0x4c,0x72,0x1b,0x03,0x4c,0x42,0x0d,0x03,0x58,0xca,0x85,0x01, 0xd8,0xfb,0xbd,0x01,0x10,0x80,0x80,0x00,0x30,0x80,0xc0,0x00,0x20,0x00,0x40, 0x00,0x60,0x00,0x60,0x00,0xc0,0x01,0x38,0x00,0x00,0x0f,0x0f,0x00,0x00,0xfc, 0x03,0x00,0x00,0xf0,0x00,0x00}; xbill-2.1/bitmaps/palm.xbm0100644000076400007640000000107007364635654016007 0ustar bwellingbwelling#define palm_width 28 #define palm_height 24 static char palm_bits[] = { 0x00,0x81,0x00,0x00,0x40,0x54,0x08,0x00,0x00,0x21,0x01,0x00,0x00,0x8a,0x00, 0x00,0x00,0x00,0x08,0x00,0x00,0x04,0x04,0x00,0xa0,0x92,0x28,0x00,0x00,0x04, 0x04,0x00,0x00,0x02,0x08,0x00,0x00,0x00,0x01,0x00,0x00,0x4a,0x00,0x00,0x20, 0x91,0x4a,0x00,0x00,0x42,0x00,0x00,0x00,0x08,0x01,0x00,0x00,0x02,0x00,0x00, 0x00,0x09,0x00,0x00,0x20,0x92,0x48,0x00,0x00,0x04,0x00,0x00,0x00,0x02,0x00, 0x00,0x00,0x01,0x00,0x00,0x00,0x14,0x00,0x00,0x40,0x85,0x24,0x00,0x00,0x08, 0x00,0x00,0x00,0x00,0x00,0x00}; xbill-2.1/bitmaps/redhat.xbm0100644000076400007640000000107607363174040016315 0ustar bwellingbwelling#define redhat_width 28 #define redhat_height 24 static char redhat_bits[] = { 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x80,0x03,0x1c,0x00,0x80,0xff,0x1f, 0x00,0x80,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x80,0xff, 0x1f,0x00,0x80,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x80, 0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00, 0x80,0xff,0x1f,0x00,0x80,0xff,0x1f,0x00,0x86,0xff,0x1f,0x06,0x8e,0xff,0x1f, 0x07,0xfc,0xff,0xff,0x03,0xf8,0xff,0xff,0x01,0xe0,0xff,0x7f,0x00,0x00,0xff, 0x0f,0x00,0x00,0x00,0x00,0x00}; xbill-2.1/bitmaps/sgi.xbm0100644000076400007640000000106507363174040015626 0ustar bwellingbwelling#define sgi_width 28 #define sgi_height 24 static char sgi_bits[] = { 0x00,0x00,0x00,0x00,0x00,0x98,0x01,0x00,0x00,0x9e,0x07,0x00,0x80,0x9f,0x1f, 0x00,0xe0,0x99,0x79,0x00,0x70,0x98,0xe1,0x00,0xf0,0x98,0xf1,0x00,0xc0,0x9b, 0x3d,0x00,0x10,0x9f,0x8f,0x00,0x78,0xfc,0xe3,0x01,0xf8,0xf9,0xf9,0x01,0x98, 0x9f,0x9f,0x01,0x18,0x9f,0x8f,0x01,0xd8,0x9f,0xbf,0x01,0xf8,0xf8,0xf1,0x01, 0x38,0xfe,0xc7,0x01,0x90,0x9f,0x9f,0x00,0xe0,0x99,0x79,0x00,0x70,0x98,0xe1, 0x00,0xe0,0x99,0x79,0x00,0x80,0x9f,0x1f,0x00,0x00,0x9e,0x07,0x00,0x00,0x98, 0x01,0x00,0x00,0x00,0x00,0x00}; xbill-2.1/bitmaps/sun.xbm0100644000076400007640000000106507363174040015651 0ustar bwellingbwelling#define sun_width 28 #define sun_height 24 static char sun_bits[] = { 0x00,0x20,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0xb0,0x01,0x00,0x00,0x6c,0x03, 0x00,0x00,0xda,0x06,0x00,0x00,0xb6,0x05,0x00,0x80,0x6c,0x13,0x00,0xc0,0x58, 0x18,0x00,0x60,0xf3,0x6c,0x00,0xb0,0x61,0xb6,0x00,0xd8,0x0e,0xdb,0x01,0x68, 0x9b,0x6d,0x01,0xb8,0x0d,0xb7,0x01,0xd0,0x66,0xd8,0x00,0x60,0xf3,0x6c,0x00, 0x80,0xa1,0x31,0x00,0x80,0x6c,0x13,0x00,0x00,0xda,0x06,0x00,0x00,0xb6,0x05, 0x00,0x00,0x6c,0x03,0x00,0x00,0xd8,0x00,0x00,0x00,0xf0,0x00,0x00,0x00,0x40, 0x00,0x00,0x00,0x00,0x00,0x00}; xbill-2.1/.cvsignore0100644000076400007640000000007607364422727014707 0ustar bwellingbwellingxbill Makefile config.h config.cache config.log config.status xbill-2.1/Bill.c0100644000076400007640000001775707363174040013742 0ustar bwellingbwelling#include #include "types.h" #include "util.h" #include "Bill.h" #include "Computer.h" #include "Game.h" #include "Horde.h" #include "Network.h" #include "OS.h" #include "UI.h" /* speed at which OS drops */ #define GRAVITY 3 /* speed of moving Bill */ #define SLOW 0 #define FAST 1 #define WCELS 4 /* # of bill walking animation frames */ #define DCELS 5 /* # of bill dying animation frames */ #define ACELS 13 /* # of bill switching OS frames */ static Picture *lcels[WCELS], *rcels[WCELS], *acels[ACELS], *dcels[DCELS]; static int width, height; static void get_border(int *x, int *y) { int i = RAND(0, 3); int screensize = Game_screensize(); if (i % 2 == 0) *x = RAND(0, screensize - width); else *y = RAND(0, screensize - height); switch (i) { case 0: *y = -height - 16; break; case 1: *x = screensize + 1; break; case 2: *y = screensize + 1; break; case 3: *x = - width - 2; break; } } /* Adds a bill to the in state */ void Bill_enter(Bill **billp) { Bill *bill; Computer *computer; bill = xalloc(sizeof *bill); bill->state = BILL_STATE_IN; get_border(&bill->x, &bill->y); bill->index = 0; bill->cels = lcels; bill->cargo = OS_WINGDOWS; bill->x_offset = -2; bill->y_offset = -15; bill->target_c = RAND(0, Network_num_computers() - 1); computer = Network_get_computer(bill->target_c); bill->target_x = computer->x + Computer_width() - BILL_OFFSET_X; bill->target_y = computer->y + BILL_OFFSET_Y; Horde_inc_counter(HORDE_COUNTER_ON, 1); Horde_inc_counter(HORDE_COUNTER_OFF, -1); bill->prev = NULL; bill->next = NULL; *billp = bill; } static int step_size(unsigned int level) { return MIN(11 + level, 15); } /* Moves bill toward his target - returns whether or not he moved */ static int move(Bill *bill, int mode) { int xdist = bill->target_x - bill->x; int ydist = bill->target_y - bill->y; int step = step_size(Game_level()); int dx, dy; int signx = xdist >= 0 ? 1 : -1; int signy = ydist >= 0 ? 1 : -1; xdist = abs(xdist); ydist = abs(ydist); if (!xdist && !ydist) return 0; else if (xdist < step && ydist < step) { bill->x = bill->target_x; bill->y = bill->target_y; } else { dx = (xdist*step*signx)/(xdist+ydist); dy = (ydist*step*signy)/(xdist+ydist); if (mode == FAST) { dx *= 1.25; dy *= 1.25; } bill->x += dx; bill->y += dy; if (dx < 0) bill->cels = lcels; else if (dx > 0) bill->cels = rcels; } return 1; } static void draw_std(Bill *bill) { if (bill->cargo >= 0) OS_draw(bill->cargo, bill->x + bill->x_offset, bill->y + bill->y_offset); UI_draw(bill->cels[bill->index], bill->x, bill->y); } static void draw_at(Bill *bill) { Computer *computer = Network_get_computer(bill->target_c); if (bill->index > 6 && bill->index < 12) OS_draw(0, bill->x + bill->sx, bill->y + bill->sy); if (bill->cargo >= 0) OS_draw(bill->cargo, bill->x + bill->x_offset, bill->y + bill->y_offset); UI_draw(bill->cels[bill->index], computer->x, computer->y); } static void draw_stray(Bill *bill) { OS_draw(bill->cargo, bill->x, bill->y); } void Bill_draw(Bill *bill) { switch (bill->state) { case BILL_STATE_IN: case BILL_STATE_OUT: case BILL_STATE_DYING: draw_std(bill); break; case BILL_STATE_AT: draw_at(bill); break; case BILL_STATE_STRAY: draw_stray(bill); break; default: break; } } /* Update Bill's position */ static void update_in(Bill *bill) { int moved = move(bill, SLOW); Computer *computer = Network_get_computer(bill->target_c); if (!moved && computer->os != OS_WINGDOWS && !computer->busy) { computer->busy = 1; bill->cels = acels; bill->index = 0; bill->state = BILL_STATE_AT; return; } else if (!moved) { int i; do { i = RAND(0, Network_num_computers() - 1); } while (i == bill->target_c); computer = Network_get_computer(i); bill->target_c = i; bill->target_x = computer->x + Computer_width() - BILL_OFFSET_X; bill->target_y = computer->y + BILL_OFFSET_Y; } bill->index++; bill->index %= WCELS; bill->y_offset += (8 * (bill->index % 2) - 4); } /* Update Bill standing at a computer */ static void update_at(Bill *bill) { Computer *computer = Network_get_computer(bill->target_c); if (bill->index == 0 && computer->os == OS_OFF) { bill->index = 6; if (computer->stray == NULL) bill->cargo = -1; else { bill->cargo = computer->stray->cargo; Horde_remove_bill(computer->stray); computer->stray = NULL; } } else bill->index++; if (bill->index == 13) { bill->y_offset = -15; bill->x_offset = -2; get_border(&bill->target_x, &bill->target_y); bill->index = 0; bill->cels = lcels; bill->state = BILL_STATE_OUT; computer->busy = 0; return; } bill->y_offset = height - OS_height(); switch (bill->index) { case 1: case 2: bill->x -= 8; bill->x_offset +=8; break; case 3: bill->x -= 10; bill->x_offset +=10; break; case 4: bill->x += 3; bill->x_offset -=3; break; case 5: bill->x += 2; bill->x_offset -=2; break; case 6: if (computer->os != OS_OFF) { Network_inc_counter(NETWORK_COUNTER_BASE, -1); Network_inc_counter(NETWORK_COUNTER_OFF, 1); bill->cargo = computer->os; } else { bill->x -= 21; bill->x_offset += 21; } computer->os = OS_OFF; bill->y_offset = -15; bill->x += 20; bill->x_offset -=20; break; case 7: bill->sy = bill->y_offset; bill->sx = -2; break; case 8: bill->sy = -15; bill->sx = -2; break; case 9: bill->sy = -7; bill->sx = -7; bill->x -= 8; bill->x_offset +=8; break; case 10: bill->sy = 0; bill->sx = -7; bill->x -= 15; bill->x_offset +=15; break; case 11: bill->sy = 0; bill->sx = -7; computer->os = OS_WINGDOWS; Network_inc_counter(NETWORK_COUNTER_OFF, -1); Network_inc_counter(NETWORK_COUNTER_WIN, 1); break; case 12: bill->x += 11; bill->x_offset -=11; } } /* Updates Bill fleeing with his ill gotten gain */ static void update_out(Bill *bill) { int screensize = Game_screensize(); if (UI_intersect(bill->x, bill->y, width, height, 0, 0, screensize, screensize)) { move(bill, FAST); bill->index++; bill->index %= WCELS; bill->y_offset += (8*(bill->index%2)-4); } else { Horde_remove_bill(bill); Horde_inc_counter(HORDE_COUNTER_ON, -1); Horde_inc_counter(HORDE_COUNTER_OFF, 1); } } /* Updates a Bill who is dying */ static void update_dying(Bill *bill) { if (bill->index < DCELS - 1){ bill->y_offset += (bill->index * GRAVITY); bill->index++; } else { bill->y += bill->y_offset; if (bill->cargo < 0 || bill->cargo == OS_WINGDOWS) Horde_remove_bill(bill); else { Horde_move_bill(bill); bill->state = BILL_STATE_STRAY; } Horde_inc_counter(HORDE_COUNTER_ON, -1); } } void Bill_update(Bill *bill) { switch (bill->state) { case BILL_STATE_IN: update_in(bill); break; case BILL_STATE_AT: update_at(bill); break; case BILL_STATE_OUT: update_out(bill); break; case BILL_STATE_DYING: update_dying(bill); break; default: break; } } void Bill_set_dying(Bill *bill) { bill->index = -1; bill->cels = dcels; bill->x_offset = -2; bill->y_offset = -15; bill->state = BILL_STATE_DYING; } int Bill_clicked(Bill *bill, int locx, int locy) { return (locx > bill->x && locx < bill->x + width && locy > bill->y && locy < bill->y + height); } int Bill_clickedstray(Bill *bill, int locx, int locy) { return (locx > bill->x && locx < bill->x + OS_width() && locy > bill->y && locy < bill->y + OS_height()); } void Bill_load_pix () { int i; for (i = 0; i < WCELS - 1; i++) { UI_load_picture_indexed("billL", i, 1, &lcels[i]); UI_load_picture_indexed("billR", i, 1, &rcels[i]); } lcels[WCELS - 1] = lcels[1]; rcels[WCELS - 1] = rcels[1]; for (i = 0; i < DCELS; i++) UI_load_picture_indexed("billD", i, 1, &dcels[i]); width = UI_picture_width(dcels[0]); height = UI_picture_height(dcels[0]); for (i = 0; i < ACELS; i++) UI_load_picture_indexed("billA", i, 1, &acels[i]); } int Bill_width() { return width; } int Bill_height() { return height; } int Bill_get_state(Bill *bill) { return bill->state; } xbill-2.1/Bill.h0100644000076400007640000000214607363174040013731 0ustar bwellingbwelling#ifndef BILL_H #define BILL_H /* Bill's states */ #define BILL_STATE_IN 1 #define BILL_STATE_AT 2 #define BILL_STATE_OUT 3 #define BILL_STATE_DYING 4 #define BILL_STATE_STRAY 5 /* Offsets from upper right of computer */ #define BILL_OFFSET_X 20 #define BILL_OFFSET_Y 3 struct Bill { int state; /* what is it doing? */ int index; /* index of animation frame */ Picture **cels; /* array of animation frames */ int x, y; /* location */ int target_x; /* target x position */ int target_y; /* target y position */ int target_c; /* target computer */ int cargo; /* which OS carried */ int x_offset; /* accounts for width differences */ int y_offset; /* 'bounce' factor for OS carried */ int sx, sy; /* used for drawing extra OS during switch */ Bill *prev, *next; }; void Bill_enter(Bill **billp); void Bill_draw(Bill *bill); void Bill_update(Bill *bill); void Bill_set_dying(Bill *bill); int Bill_clicked(Bill *bill, int locx, int locy); int Bill_clickedstray(Bill *bill, int locx, int locy); void Bill_load_pix(void); int Bill_width(void); int Bill_height(void); int Bill_get_state(Bill *bill); #endif xbill-2.1/Bucket.c0100644000076400007640000000145007363174040014254 0ustar bwellingbwelling#include #include "Bucket.h" #include "Cable.h" #include "Game.h" #include "Network.h" #include "UI.h" static Picture *picture; static MCursor *cursor; static int grabbed; void Bucket_load_pix() { UI_load_picture("bucket", 1, &picture); UI_load_cursor("bucket", CURSOR_OWN_MASK, &cursor); } int Bucket_clicked(int x, int y) { return (x > 0 && x < UI_picture_width(picture) && y > 0 && y < UI_picture_height(picture)); } void Bucket_draw() { if (!grabbed) UI_draw(picture, 0, 0); } void Bucket_grab(int x, int y) { UNUSED(x); UNUSED(y); UI_set_cursor(cursor); grabbed = 1; } void Bucket_release(int x, int y) { int i; for (i = 0; i < Network_num_cables(); i++) { Cable *cable = Network_get_cable(i); if (Cable_onspark(cable, x, y)) Cable_reset(cable); } grabbed = 0; } xbill-2.1/Bucket.h0100644000076400007640000000031007363174040014253 0ustar bwellingbwelling#ifndef BUCKET_H #define BUCKET_H void Bucket_load_pix(void); void Bucket_draw(void); int Bucket_clicked(int x, int y); void Bucket_grab(int x, int y); void Bucket_release(int x, int y); #endif xbill-2.1/Cable.c0100644000076400007640000000675207363174040014057 0ustar bwellingbwelling#include "stdio.h" #include "stdlib.h" #include "types.h" #include "util.h" #include "Cable.h" #include "Computer.h" #include "Game.h" #include "Network.h" #include "OS.h" #include "Spark.h" #include "UI.h" struct Cable { int c1, c2; /* computers connected */ int x1, y1, x2, y2; /* endpoints of line representing cable */ int x, y; /* current location of spark */ float fx, fy; /* needed for line drawing */ int delay; /* how much time until spark leaves */ int active; /* is spark moving and from which end */ int index; }; #define SWAP(x, y) do {int _t; _t = x; x = y; y = _t;} while(0) static void reverse(Cable *cable) { SWAP(cable->c1, cable->c2); SWAP(cable->x1, cable->x2); SWAP(cable->y1, cable->y2); } void Cable_setup(Cable **cablep) { Cable *cable; Computer *comp1, *comp2; int cwidth, cheight; cable = xalloc(sizeof *cable); cable->c1 = RAND(0, Network_num_computers() - 1); do { cable->c2 = RAND(0, Network_num_computers() - 1); } while (cable->c2 == cable->c1); cable->active = 0; cable->index = 0; cable->delay = SPARK_DELAY(Game_level()); comp1 = Network_get_computer(cable->c1); comp2 = Network_get_computer(cable->c2); cwidth = Computer_width(); cheight = Computer_height(); cable->x1 = comp1->x + cwidth/3; cable->x2 = comp2->x + cwidth/3; cable->y1 = comp1->y + cheight/2; cable->y2 = comp2->y + cheight/2; *cablep = cable; } void Cable_draw(Cable *cable) { UI_draw_line(cable->x1, cable->y1, cable->x2, cable->y2); if (cable->active) { int rx = cable->x - Spark_width()/2; int ry = cable->y - Spark_height()/2; Spark_draw(rx, ry, cable->index); } } void Cable_update(Cable *cable) { Computer *comp1, *comp2; comp1 = Network_get_computer(cable->c1); comp2 = Network_get_computer(cable->c2); if (cable->active) { if ((comp1->os == OS_WINGDOWS) == (comp2->os == OS_WINGDOWS)) cable->active = 0; else if (comp1->os == OS_WINGDOWS || comp2->os == OS_WINGDOWS) { int xdist, ydist; float sx, sy; if (comp2->os == OS_WINGDOWS) reverse(cable); xdist = cable->x2 - cable->x; ydist = cable->y2 - cable->y; sx = xdist >= 0 ? 1.0 : -1.0; sy = ydist >= 0 ? 1.0 : -1.0; xdist = abs(xdist); ydist = abs(ydist); if (xdist == 0 && ydist == 0) { if (!comp2->busy) { int counter; if (comp2->os == OS_OFF) counter = NETWORK_COUNTER_OFF; else counter = NETWORK_COUNTER_BASE; Network_inc_counter(counter, -1); Network_inc_counter(NETWORK_COUNTER_WIN, 1); comp2->os = OS_WINGDOWS; } cable->active = 0; } else if (MAX(xdist, ydist) < SPARK_SPEED) { cable->x = cable->x2; cable->y = cable->y2; } else { cable->fx+=(xdist*SPARK_SPEED*sx)/(xdist+ydist); cable->fy+=(ydist*SPARK_SPEED*sy)/(xdist+ydist); cable->x = (int)cable->fx; cable->y = (int)cable->fy; } cable->index = 1 - cable->index; } } else { if ((comp1->os == OS_WINGDOWS) == (comp2->os == OS_WINGDOWS)) ; else if (comp1->os == OS_WINGDOWS || comp2->os == OS_WINGDOWS) { cable->active = 1; cable->delay = SPARK_DELAY(Game_level()); if (comp2->os == OS_WINGDOWS) reverse(cable); cable->x = cable->x1; cable->fx = cable->x1; cable->y = cable->y1; cable->fy = cable->y1; } } } int Cable_onspark(Cable *cable, int locx, int locy) { if (!cable->active) return 0; return (abs(locx - cable->x) < Spark_width() && abs(locy - cable->y) < Spark_height()); } void Cable_reset(Cable *cable) { cable->active = 0; cable->delay = SPARK_DELAY(Game_level()); } xbill-2.1/Cable.h0100644000076400007640000000036407363174040014055 0ustar bwellingbwelling#ifndef CABLE_H #define CABLE_H #include "types.h" void Cable_setup(Cable **cablep); void Cable_draw(Cable *cable); void Cable_update(Cable *cable); int Cable_onspark(Cable *cable, int locx, int locy); void Cable_reset(Cable *cable); #endif xbill-2.1/ChangeLog0100644000076400007640000001652207375135324014460 0ustar bwellingbwellingXBill history: 0.01 (7/21/94): - Bill moves, and he's in color too. You can even click on him and he excaims "OUCH!" or "SPLAT!" - window resizing is very wrong 0.02 (7/22/94): - program no longer guaranteed to run predictably for longer than nine years (sorry) - ridiculously improved code style (no really a lot!) - added linked list unit and support for multiple monsters - added support for computers - bill says "POW!!!!!!" on button 2 - improved Makefile - remembered to include app-defaults file in tar 0.03 (7/24/94): - forgot to initialize a variable. either the stupid aix compiler initialized it anyway or we were really lucky testing it. - removed annoying flicker - has multiple computers on the screen with random OSes - has multiple bills moving on the screen in random directions - used sxpm to create smaller .xpm files, minor savings in memoy and executable size, easier to edit pixmaps - left button (button 1) removes bills from screen - right button (button 3) now resets computers to wingdows. 0.04 (7/25/94): - got masking to work (well, maybe not...) - bill now carries the wingdows box around - event handling/speed improved 0.1 (7/26/94): - masking really works now - fixed computer pixmap so it looks nice(r) - randomized computer layout now leaves room for bill to stand on right - support for bills walking in, standing at computers and walking out - bills walk towards a specific computer to plunder (primitive ai) - bill turns off computer, 'steals' native os and installs wingdows - count of bills remaining is kept: decreased when bill enters screen - increased if bill leaves - bill is killable in all states - computer reset to native os on right button - cleaned up code and internal structures - event handling/speed really improved (optimized for the new code) - server lag problems identified - linked list unit fixed so that function to move between lists works - window resizing is still very wrong 0.2 (8/14/94) - programmers woke up after being asleep since 7/26. - code structures were fixed very much (again) - bill faces in the direction he's walking - bill explodes in a gory shower of blood when clicked on (yeah!) - bill drops os when killed - the os stays on the ground when bill is killed if it had been stolen - the os bounces up and down while bill carries it - changed default cursor (matias will have to draw a better one later) - cursor changes during drag and drop operation - drag and drop works! there's a little hack involved, but not too bad... - bill now smart enough to notice that a computer is already corrupted and find a new one - game ends if all computers are lost 0.21 (8/15/94) - attempt to port code to athena widgets. it compiles and runs w/o motif now (i hate C macros) a bit - improved the makefile. an imakefile one day maybe... 0.22 (8/16/94) - when bill leaves the field, he drops the os he's carrying - status bar widget now does something 0.3 (8/23/94) - improved responsiveness a lot :) - menubar does something (new game, pause and quit buttons) if motif is used. - levels now exist (barely) - yet more code cleanup 0.31 (8/24/94) - a few things depend on the level (freq. and number of appearing bills, number of computers, step size) - bug where a computer is ignored if off is removed - menu code written. - athena code started. this works more or less, but not too well. i'd recommend using motif and/or a statically linked binary. 0.32 (9/18/94) - about box works. help almost works also. - a bunch of bugs fixed - have an Imakefile now (thanks to Greg Seidman - anthro@cs.umd.edu) 0.9 (11/28/94 - a bit busier during school) - warp to arbitrary level works - game pauses when cursor leaves window - cursor warps to near upper left corner of opened dialog boxes - redefined both reset and drag to right button (button 3), added -1 option for people with a one button mouse. -1 may slow the game down a bit. - added -l, -L to specify starting level - added -v for version info - improved pictures a lot - added confirmations for actions - game now pauses well - fixed level difficulty stuff - bill walks at two speeds - minimizes to an icon (a cool one too...) - scoring improved - window cannot be resized now, no matter how hard you try :) - much cooler animations for bill replacing os - added high score list - fixed lots of silly bugs - made program not die from colormap error (i hope) 1.0 (4/5/95-4/9/95) - remembered that the game's not done yet :) - replaced usleep() calls with XtAppAddTimeout(). should make the game more responsive - changed all popup windows to modal dialogs. cleans up code a lot - removed Athena support, since it would take too long to finish. - made a couple pixmaps a bit smaller - changed colors to gray. why not? - finally got everything to work with full colormaps - got rid of app-defaults file. Not really used anyway - Only uses one button now (any button). Easier to play. - Some Imakefile fixes 1.1 (4/16/95) - modularized widget code, and added Athena widget support (rewritten from scratch). The game looks better with Motif, but that's not too important. - made pause button only active during game play - warping to a level starts a game if one isn't being played - fixed a potentially nasty bug that could cause bills to get lost - works in TrueColor now (I think - it works in 16 bit mode at least) 1.1a (9/22/95) - fixed bug where getopt() returned a char instead of an int. - fixed bug where hitting Enter when entering a high score corrupted the high score file. - don't fclose() nonexistant files any more. - added BSD as another operating system (patches by Joerg Wunsch, joerg_wunsch@uriah.heep.sax.de) - it was really easy to play forever by guarding one computer. Now you lose when there's only one computer left running its normal OS. - added man page, written by Pekka Marjola (marjola@trshp.ntc.nokia.com) 2.0 (1/23/1997) - changed around some timer code. - removed Athena DrawingArea widget since CoreWidget works too. - massive code reorganization to improve portability to other GUIs, languages, etc. - Some computers are connected by network cables - When a computer with a network cable becomes infected, it will release a spark down the cable which will infect the computer on the other end. Pouring the bucket of water on the spark will extinguish it. - Made cursors and various other images look better. - Removed references to defenestration.dorm.umd.edu, which no longer exists. - Added Red Hat logo (fixed broken Red Hat patch). - Added GNU Hurd logo - Added Linux penguin logo - The BSD, Red Hat, Linux, OS/2, and Hurd operating systems are interchangable on the 2 PC computers. - The score is now displayed in the playing field. - Made Athena version far better looking. - Motif version almost completely works with Lesstif. 2.1 (11/15/2001) - converted all code from C++ into C. - cleaned up pretty much all of the code. - modified build system to use GNU autoconf instead of imake. - made the UI system modular, and created modules for the Athena and Motif widget sets. By default, both are built into the binary. - added a GTK front end. - added an option to use a larger playing field. - changed the Athena front end to use Xaw3d when possible. - add Palm OS/CPU (images borrowed from pBill and heavily modified) xbill-2.1/Computer.c0100644000076400007640000000447307367570513014656 0ustar bwellingbwelling#include #include "types.h" #include "util.h" #include "Bill.h" #include "Computer.h" #include "Horde.h" #include "Network.h" #include "Game.h" #include "OS.h" #include "UI.h" #define OS_OFFSET 4 /* offset of screen from 0,0 */ #define BORDER(size) (size / 10) /* at least this far from a side */ #define MIN_PC 6 /* type >= MIN_PC means the computer is a PC */ static const char *cpuname[] = {"toaster", "maccpu", "nextcpu", "sgicpu", "suncpu", "palmcpu", "os2cpu", "bsdcpu"}; #define NUM_SYS (sizeof(cpuname) / sizeof(cpuname[0])) static Picture *pictures[NUM_SYS]; /* array of cpu pictures */ static int width, height; static int determineOS(Computer *computer) { if (computer->type < MIN_PC) return computer->type; else return OS_randpc(); } int Computer_setup(Computer *computer, int index) { int j, counter = 0, flag; int x, y; int screensize = Game_screensize(); int border = BORDER(screensize); do { if (++counter > 4000) return 0; x = RAND(border, screensize - border - width); y = RAND(border, screensize - border - height); flag = 1; /* check for conflicting computer placement */ for (j = 0; j < index && flag; j++) { Computer *c = Network_get_computer(j); int twidth = width - BILL_OFFSET_X + Bill_width(); if (UI_intersect(x, y, twidth, height, c->x, c->y, twidth, height)) flag = 0; } } while (!flag); computer->x = x; computer->y = y; computer->type = RAND(1, NUM_SYS - 1); computer->os = determineOS(computer); computer->busy = 0; computer->stray = NULL; return 1; } int Computer_on(Computer *computer, int locx, int locy) { return (abs(locx - computer->x) < width && abs(locy - computer->y) < height); } int Computer_compatible(Computer *computer, int system) { return (computer->type == system || (computer->type >= MIN_PC && OS_ispc(system))); } void Computer_draw(Computer *computer) { UI_draw(pictures[computer->type], computer->x, computer->y); if (computer->os != OS_OFF) OS_draw(computer->os, computer->x + OS_OFFSET, computer->y + OS_OFFSET); } void Computer_load_pix() { unsigned int i; for (i = 0; i < NUM_SYS; i++) UI_load_picture(cpuname[i], 1, &pictures[i]); width = UI_picture_width(pictures[0]); height = UI_picture_height(pictures[0]); } int Computer_width() { return width; } int Computer_height() { return height; } xbill-2.1/Computer.h0100644000076400007640000000105307364635654014657 0ustar bwellingbwelling#ifndef COMPUTER_H #define COMPUTER_H struct Computer { int type; /* CPU type */ int os; /* current OS */ int x, y; /* location */ int busy; /* is the computer being used? */ Bill *stray; }; int Computer_setup(Computer *computer, int i); void Computer_draw(Computer *computer); int Computer_on (Computer *computer, int locx, int locy); int Computer_compatible(Computer *computer, int system); void Computer_load_pix(void); int Computer_width(void); int Computer_height(void); #define COMPUTER_TOASTER 0 /* computer 0 is a toaster */ #endif xbill-2.1/Game.c0100644000076400007640000001620207367570513013722 0ustar bwellingbwelling#include #include #include #include #include #include "types.h" #include "util.h" #include "Bill.h" #include "Bucket.h" #include "Computer.h" #include "Cable.h" #include "Game.h" #include "Horde.h" #include "Network.h" #include "OS.h" #include "Scorelist.h" #include "Spark.h" #include "UI.h" #define SCREENSIZE 400 /* Game states */ #define STATE_PLAYING 1 #define STATE_BETWEEN 2 #define STATE_END 3 #define STATE_WAITING 4 /* Score related constants */ #define SCORE_ENDLEVEL -1 #define SCORE_BILLPOINTS 5 static unsigned int state; static int efficiency; static int score, level, iteration; static Picture *logo, *icon, *about; static MCursor *defaultcursor, *downcursor; static Bill *grabbed; static const char *gui; static int screensize = SCREENSIZE; static void setup_level(int newlevel) { level = newlevel; Horde_setup(); grabbed = NULL; UI_set_cursor(defaultcursor); Network_setup(); iteration = 0; efficiency = 0; } void Game_start(int newlevel) { state = STATE_PLAYING; score = 0; UI_restart_timer(); UI_set_pausebutton(1); setup_level(newlevel); } void Game_quit() { Scorelist_write(); exit(0); } static void update_info(void) { char str[80]; int on_screen = Horde_get_counter(HORDE_COUNTER_ON); int off_screen = Horde_get_counter(HORDE_COUNTER_OFF); int base = Network_get_counter(NETWORK_COUNTER_BASE); int off = Network_get_counter(NETWORK_COUNTER_OFF); int win = Network_get_counter(NETWORK_COUNTER_WIN); int units = Network_num_computers(); sprintf(str, "Bill:%d/%d System:%d/%d/%d Level:%d Score:%d", on_screen, off_screen, base, off, win, level, score); UI_draw_str(str, 5, screensize - 5); efficiency += ((100 * base - 10 * win) / units); } void Game_warp_to_level(int lev) { if (state == STATE_PLAYING) { if (lev <= level) return; setup_level(lev); } else { if (lev <= 0) return; Game_start(lev); } } void Game_add_high_score(const char *str) { Scorelist_recalc(str, level, score); } void Game_button_press(int x, int y) { int counter; if (state != STATE_PLAYING) return; UI_set_cursor(downcursor); if (Bucket_clicked(x, y)) { Bucket_grab(x, y); return; } grabbed = Horde_clicked_stray(x, y); if (grabbed != NULL) { OS_set_cursor(grabbed->cargo); return; } counter = Horde_process_click(x, y); score += (counter * counter * SCORE_BILLPOINTS); } void Game_button_release(int x, int y) { int i; UI_set_cursor(defaultcursor); if (state != STATE_PLAYING) return; if (grabbed == NULL) { Bucket_release(x, y); return; } for (i = 0; i < Network_num_computers(); i++) { Computer *computer = Network_get_computer(i); if (Computer_on(computer, x, y) && Computer_compatible(computer, grabbed->cargo) && (computer->os == OS_WINGDOWS || computer->os == OS_OFF)) { int counter; Network_inc_counter(NETWORK_COUNTER_BASE, 1); if (computer->os == OS_WINGDOWS) counter = NETWORK_COUNTER_WIN; else counter = NETWORK_COUNTER_OFF; Network_inc_counter(counter, -1); computer->os = grabbed->cargo; Horde_remove_bill(grabbed); grabbed = NULL; return; } } Horde_add_bill(grabbed); grabbed = NULL; } static void draw_logo(void) { UI_clear(); UI_draw(logo, (screensize - UI_picture_width(logo)) / 2, (screensize - UI_picture_height(logo)) / 2); } void Game_update() { char str[40]; switch (state) { case STATE_PLAYING: UI_clear(); Bucket_draw(); Network_update(); Network_draw(); Horde_update(iteration); Horde_draw(); update_info(); if (Horde_get_counter(HORDE_COUNTER_ON) + Horde_get_counter(HORDE_COUNTER_OFF) == 0) { score += (level * efficiency / iteration); state = STATE_BETWEEN; } if ((Network_get_counter(NETWORK_COUNTER_BASE) + Network_get_counter(NETWORK_COUNTER_OFF)) <= 1) state = STATE_END; break; case STATE_END: UI_set_cursor(defaultcursor); UI_clear(); Network_toasters(); Network_draw(); UI_refresh(); UI_popup_dialog(DIALOG_ENDGAME); if (Scorelist_ishighscore(score)) { UI_popup_dialog(DIALOG_ENTERNAME); Scorelist_update(); } UI_popup_dialog(DIALOG_HIGHSCORE); draw_logo(); UI_kill_timer(); UI_set_pausebutton(0); state = STATE_WAITING; break; case STATE_BETWEEN: UI_set_cursor(defaultcursor); sprintf(str, "After Level %d:\nScore: %d", level, score); UI_update_dialog(DIALOG_SCORE, str); UI_popup_dialog(DIALOG_SCORE); state = STATE_PLAYING; setup_level(++level); break; } UI_refresh(); iteration++; } int Game_score() { return score; } int Game_level() { return level; } int Game_screensize() { return screensize; } double Game_scale(int dimensions) { double scale = (double)screensize / SCREENSIZE; double d = 1; for ( ; dimensions > 0; dimensions--) d *= scale; return (d); } /* * Note - don't use getopt, since it might reorder the args or do something * that the UI-specific argument parser doesn't like. */ static void parse_args(int argc, char **argv) { char *s; char *endp; int i; for (i = 1; i < argc; i++) { if (strncasecmp(argv[i], "-l", 2) == 0) { if (strlen(argv[i]) == 2 && i == argc - 1) fatal("-l takes an argument"); if (strlen(argv[i]) > 2) s = argv[i] + 2; else s = argv[++i]; level = strtol(s, &endp, 10); if (*endp != '\0' || level <= 0) fatal("invalid level '%s'", s); } else if (strcmp(argv[i], "--gui") == 0) { if (i == argc - 1) fatal("--gui takes an argument"); gui = argv[++i]; } else if (strcmp(argv[i], "--size") == 0) { if (i == argc - 1) fatal("--size takes an argument"); s = argv[++i]; screensize = strtol(s, &endp, 10); if (*endp != '\0' || screensize <= 0) fatal("invalid screensize '%s'", s); if (screensize < SCREENSIZE) fatal("screensize must be larger than '%d'", SCREENSIZE); } else if (strcmp(argv[1], "-v") == 0 || strcmp(argv[1], "--version") == 0) { printf ("XBill version 2.1\n\n"); exit(0); } else if (strcmp(argv[1], "-h") == 0 || strcmp(argv[1], "--help") == 0) { printf("XBill version 2.1\n"); printf("Options:\n"); printf("-l \tStart at level n.\n"); printf("--gui \tUse a specific gui " "(athena, motif, gtk)\n"); printf("--size \t\tUse a larger playing area.\n"); printf("-v\t\tPrint version number and exit.\n"); printf("-h\t\tPrint help and exit.\n"); printf("All standard toolkit options are also "); printf("supported.\n\n"); exit(0); } } } int main(int argc, char **argv) { srand(time(NULL)); parse_args(argc, argv); UI_initialize(gui, &argc, argv); UI_make_main_window(screensize); UI_graphics_init(); UI_load_picture("logo", 0, &logo); UI_load_picture("icon", 0, &icon); UI_load_picture("about", 0, &about); draw_logo(); UI_refresh(); UI_make_dialogs(logo, icon, about); UI_set_icon(icon); Scorelist_read(); Scorelist_update(); UI_load_cursor("hand_up", CURSOR_SEP_MASK, &defaultcursor); UI_load_cursor("hand_down", CURSOR_SEP_MASK, &downcursor); UI_set_cursor(defaultcursor); Bill_load_pix(); OS_load_pix(); Computer_load_pix(); Bucket_load_pix(); Spark_load_pix(); state = STATE_WAITING; if (level) Game_start(level); else UI_set_pausebutton(0); UI_main_loop(); exit(0); } xbill-2.1/Game.h0100644000076400007640000000057207367570513013732 0ustar bwellingbwelling#ifndef GAME_H #define GAME_H void Game_start(int newlevel); void Game_quit(void); void Game_warp_to_level(int lev); void Game_add_high_score(const char *str); void Game_button_press(int x, int y); void Game_button_release(int x, int y); void Game_update(void); int Game_score(void); int Game_level(void); int Game_screensize(void); double Game_scale(int dimensions); #endif xbill-2.1/Horde.c0100644000076400007640000000627007367570157014122 0ustar bwellingbwelling#include #include "types.h" #include "util.h" #include "Bill.h" #include "Computer.h" #include "Game.h" #include "Horde.h" #include "Network.h" #include "UI.h" static Bill *alive, *strays; static int counters[HORDE_COUNTER_MAX + 1]; #define MAX_BILLS 100 /* max Bills per level */ #define UNLINK(bill, list) \ do { \ if ((bill)->next != NULL) \ (bill)->next->prev = (bill)->prev; \ if ((bill)->prev != NULL) \ (bill)->prev->next = (bill)->next; \ else if ((bill) == list) \ (list) = (bill)->next; \ (bill)->prev = NULL; \ (bill)->next = NULL; \ } while (0) #define PREPEND(bill, list) \ do { \ (bill)->next = (list); \ if ((list) != NULL) \ (list)->prev = (bill); \ (list) = (bill); \ } while (0) static int on(unsigned int lev) { int perlevel = (int)((8 + 3 * lev) * Game_scale(2)); return MIN(perlevel, MAX_BILLS); } static int max_at_once(unsigned int lev) { return MIN(2 + lev / 4, 12); } static int between(unsigned int lev) { return MAX(14 - lev / 3, 10); } /* Launches Bills whenever called */ static void launch(int max) { Bill *bill; int n; int off_screen = counters[HORDE_COUNTER_OFF]; if (max == 0 || off_screen == 0) return; n = RAND(1, MIN(max, off_screen)); for (; n > 0; n--) { Bill_enter(&bill); PREPEND(bill, alive); } } void Horde_setup() { Bill *bill; while (alive != NULL) { bill = alive; UNLINK(bill, alive); free(bill); } while (strays != NULL) { bill = strays; UNLINK(bill, strays); free(bill); } counters[HORDE_COUNTER_OFF] = on(Game_level()); counters[HORDE_COUNTER_ON] = 0; } void Horde_update(int iteration) { Bill *bill, *next; int level = Game_level(); if (iteration % between(level) == 0) launch(max_at_once(level)); for (bill = alive; bill != NULL; bill = next) { next = bill->next; Bill_update(bill); } } void Horde_draw() { Bill *bill; for (bill = strays; bill != NULL; bill = bill->next) Bill_draw(bill); for (bill = alive; bill != NULL; bill = bill->next) Bill_draw(bill); } void Horde_move_bill(Bill *bill) { UNLINK(bill, alive); PREPEND(bill, strays); } void Horde_remove_bill(Bill *bill) { if (bill->state == BILL_STATE_STRAY) UNLINK(bill, strays); else UNLINK(bill, alive); Network_clear_stray(bill); free(bill); } void Horde_add_bill(Bill *bill) { if (bill->state == BILL_STATE_STRAY) PREPEND(bill, strays); else PREPEND(bill, alive); } Bill * Horde_clicked_stray(int x, int y) { Bill *bill; for (bill = strays; bill != NULL; bill = bill->next) { if (!Bill_clickedstray(bill, x, y)) continue; UNLINK(bill, strays); return bill; } return NULL; } int Horde_process_click(int x, int y) { Bill *bill; int counter = 0; for (bill = alive; bill != NULL; bill = bill->next) { if (bill->state == BILL_STATE_DYING || !Bill_clicked(bill, x, y)) continue; if (bill->state == BILL_STATE_AT) { Computer *comp; comp = Network_get_computer(bill->target_c); comp->busy = 0; comp->stray = bill; } Bill_set_dying(bill); counter++; } return counter; } void Horde_inc_counter(int counter, int val) { counters[counter] += val; } int Horde_get_counter(int counter) { return counters[counter]; } xbill-2.1/Horde.h0100644000076400007640000000103407363174040014103 0ustar bwellingbwelling#ifndef HORDE_H #define HORDE_H #include "types.h" /* Counters */ #define HORDE_COUNTER_OFF 0 #define HORDE_COUNTER_ON 1 #define HORDE_COUNTER_MAX 1 void Horde_setup(void); void Horde_update(int iteration); void Horde_draw(void); Bill * Horde_get_bill(int index); void Horde_move_bill(Bill *bill); void Horde_remove_bill(Bill *bill); void Horde_add_bill(Bill *bill); Bill *Horde_clicked_stray(int x, int y); int Horde_process_click(int x, int y); void Horde_inc_counter(int counter, int val); int Horde_get_counter(int counter); #endif xbill-2.1/INSTALL0100644000076400007640000000070307375136752013737 0ustar bwellingbwellingTo install: ./configure make make install Notes: - libXpm is required when using Motif or Athena widgets. If you don't have it, get it from any X ftp site. - By default, xbill will be detect the presence of GTK, Motif, and Athena widgets, and build with all that are present. It will also use Xaw3d as a replacement for the standard Athena sidgets if present. - The default UI is GTK, if compiled in, followed by Motif and Athena. xbill-2.1/Makefile.in0100644000076400007640000000651707367570755014772 0ustar bwellingbwellingCC = @CC@ CFLAGS = @CFLAGS@ CPPFLAGS = @CPPFLAGS@ LDFLAGS = @LDFLAGS@ LIBS = @LIBS@ @X_LIBS@ @WIDGET_LIBS@ @X_PRE_LIBS@ INSTALL=@INSTALL@ INSTALL_DATA=@INSTALL_DATA@ MKINSTALLDIRS = $(SHELL) $(top_srcdir)/mkinstalldirs X_CFLAGS=@X_CFLAGS@ GTK_CFLAGS=@GTK_CFLAGS@ prefix=@prefix@ exec_prefix=@exec_prefix@ bindir=@bindir@ mandir=@mandir@ datadir=@datadir@ localstatedir=@localstatedir@ top_srcdir = @top_srcdir@ srcdir = @srcdir@ VPATH = @srcdir@ ALL_CFLAGS = $(CFLAGS) $(CPPFLAGS) -I$(srcdir) ALL_LDFLAGS = $(CFLAGS) $(LDFLAGS) IMAGE_DEFINES=-DIMAGES=\"${datadir}/xbill\" SCORE_DEFINES=-DSCOREFILE=\"${localstatedir}/xbill/scores\" PROG = xbill OBJS = Bill.o Bucket.o Cable.o Computer.o Game.o Horde.o Network.o \ OS.o Scorelist.o Spark.o UI.o util.o @WIDGET_OBJS@ XPMS = pixmaps/about.xpm pixmaps/apple.xpm pixmaps/billA_0.xpm \ pixmaps/billA_1.xpm pixmaps/billA_10.xpm pixmaps/billA_11.xpm \ pixmaps/billA_12.xpm pixmaps/billA_2.xpm pixmaps/billA_3.xpm \ pixmaps/billA_4.xpm pixmaps/billA_5.xpm pixmaps/billA_6.xpm \ pixmaps/billA_7.xpm pixmaps/billA_8.xpm pixmaps/billA_9.xpm \ pixmaps/billD_0.xpm pixmaps/billD_1.xpm pixmaps/billD_2.xpm \ pixmaps/billD_3.xpm pixmaps/billD_4.xpm pixmaps/billL_0.xpm \ pixmaps/billL_1.xpm pixmaps/billL_2.xpm pixmaps/billR_0.xpm \ pixmaps/billR_1.xpm pixmaps/billR_2.xpm pixmaps/bsd.xpm \ pixmaps/bsdcpu.xpm pixmaps/bucket.xpm pixmaps/hurd.xpm \ pixmaps/icon.xpm pixmaps/linux.xpm pixmaps/logo.xpm \ pixmaps/maccpu.xpm pixmaps/next.xpm pixmaps/nextcpu.xpm \ pixmaps/os2.xpm pixmaps/os2cpu.xpm \ pixmaps/palm.xpm pixmaps/palmcpu.xpm pixmaps/redhat.xpm \ pixmaps/sgi.xpm pixmaps/sgicpu.xpm pixmaps/spark_0.xpm \ pixmaps/spark_1.xpm pixmaps/sun.xpm pixmaps/suncpu.xpm \ pixmaps/toaster.xpm pixmaps/wingdows.xpm XBMS = bitmaps/apple.xbm bitmaps/bsd.xbm bitmaps/bucket.xbm \ bitmaps/hand_down.xbm bitmaps/hand_down_mask.xbm bitmaps/hand_up.xbm \ bitmaps/hand_up_mask.xbm bitmaps/hurd.xbm bitmaps/linux.xbm \ bitmaps/next.xbm bitmaps/os2.xbm bitmaps/palm.xbm bitmaps/redhat.xbm \ bitmaps/sgi.xbm bitmaps/sun.xbm MANDIR = man6 MAN = xbill.6 all: ${PROG} xbill: ${OBJS} $(CC) $(ALL_LDFLAGS) -o $@ ${OBJS} ${LIBS} .c.o: $(CC) $(ALL_CFLAGS) -c $< -o $@ Scorelist.o: Scorelist.c $(CC) $(ALL_CFLAGS) $(SCORE_DEFINES) -c $< -o $@ x11-motif.o: x11-motif.c $(CC) $(ALL_CFLAGS) $(X_CFLAGS) -c $< -o $@ x11-athena.o: x11-athena.c $(CC) $(ALL_CFLAGS) $(X_CFLAGS) -c $< -o $@ x11.o: x11.c $(CC) $(ALL_CFLAGS) $(X_CFLAGS) $(IMAGE_DEFINES) -c $< -o $@ gtk.o: gtk.c $(CC) $(ALL_CFLAGS) $(GTK_CFLAGS) $(IMAGE_DEFINES) -c $< -o $@ install: $(MKINSTALLDIRS) ${DESTDIR}${bindir} $(INSTALL) ${PROG} ${DESTDIR}${bindir}/${PROG} $(MKINSTALLDIRS) ${DESTDIR}${mandir}/${MANDIR} $(INSTALL_DATA) ${srcdir}/${MAN} ${DESTDIR}${mandir}/${MANDIR} $(MKINSTALLDIRS) ${DESTDIR}${localstatedir}/xbill $(INSTALL_DATA) -m 0666 ${srcdir}/scores ${DESTDIR}${localstatedir}/xbill $(MKINSTALLDIRS) ${DESTDIR}${datadir}/xbill $(MKINSTALLDIRS) ${DESTDIR}${datadir}/xbill/pixmaps $(MKINSTALLDIRS) ${DESTDIR}${datadir}/xbill/bitmaps for i in ${XPMS}; do \ ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${datadir}/xbill/pixmaps ; \ done for i in ${XBMS}; do \ ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${datadir}/xbill/bitmaps ; \ done distclean:: rm -f config.cache config.h config.log config.status Makefile distclean clean:: rm -f ${PROG} *.o rm -f *core core* xbill-2.1/Network.c0100644000076400007640000000426007367570157014507 0ustar bwellingbwelling#include #include #include "types.h" #include "util.h" #include "Cable.h" #include "Computer.h" #include "Game.h" #include "Network.h" #include "OS.h" #include "UI.h" #define STD_MAX_COMPUTERS 20 static Computer *computers; static int ncomputers; static Cable **cables; static int ncables; static int counters[NETWORK_COUNTER_MAX + 1]; /* number in each state */ static int on(int level) { int normal = MIN(8 + level, STD_MAX_COMPUTERS); return (int)(normal * Game_scale(2)); } /* sets up network for each level */ void Network_setup() { int i; ncomputers = on(Game_level()); if (computers != NULL) free(computers); if (cables != NULL) { for (i = 0; i < ncables; i++) if (cables[i] != NULL) free(cables[i]); free(cables); } computers = xalloc(ncomputers * sizeof(Computer)); for (i = 0; i < ncomputers; i++) if (!Computer_setup(&computers[i], i)) { ncomputers = i - 1; break; } counters[NETWORK_COUNTER_OFF] = 0; counters[NETWORK_COUNTER_BASE] = ncomputers; counters[NETWORK_COUNTER_WIN] = 0; ncables = MIN(Game_level(), ncomputers/2); cables = xalloc(ncables * sizeof(Cable *)); for (i = 0; i < ncables; i++) Cable_setup(&cables[i]); } /* redraws the computers at their location with the proper image */ void Network_draw () { int i; for (i = 0; i < ncables; i++) Cable_draw(cables[i]); for (i = 0; i < ncomputers; i++) Computer_draw(&computers[i]); } void Network_update () { int i; for (i = 0; i < ncables; i++) Cable_update(cables[i]); } void Network_toasters () { int i; for (i = 0; i < ncomputers; i++) { computers[i].type = COMPUTER_TOASTER; computers[i].os = OS_OFF; } ncables = 0; } Computer * Network_get_computer(int index) { return &computers[index]; } int Network_num_computers() { return ncomputers; } Cable * Network_get_cable(int index) { return cables[index]; } int Network_num_cables() { return ncables; } void Network_clear_stray(Bill *bill) { int i; for (i = 0; i < ncomputers; i++) { if (computers[i].stray == bill) computers[i].stray = NULL; } } void Network_inc_counter(int counter, int val) { counters[counter] += val; } int Network_get_counter(int counter) { return counters[counter]; } xbill-2.1/Network.h0100644000076400007640000000105607363174040014477 0ustar bwellingbwelling#ifndef NETWORK_H #define NETWORK_H /* Counters */ #define NETWORK_COUNTER_OFF 0 #define NETWORK_COUNTER_BASE 1 #define NETWORK_COUNTER_WIN 2 #define NETWORK_COUNTER_MAX 2 void Network_setup(void); void Network_draw(void); void Network_update(void); void Network_toasters(void); Computer * Network_get_computer(int index); int Network_num_computers(void); Cable * Network_get_cable(int index); int Network_num_cables(void); void Network_clear_stray(Bill *bill); void Network_inc_counter(int counter, int val); int Network_get_counter(int counter); #endif xbill-2.1/OS.c0100644000076400007640000000174107367570513013374 0ustar bwellingbwelling#include "types.h" #include "util.h" #include "OS.h" #include "UI.h" #define MIN_PC 6 /* OS >= MIN_PC means the OS is a PC OS */ static const char *osname[] = {"wingdows", "apple", "next", "sgi", "sun", "palm", "os2", "bsd", "linux", "redhat", "hurd"}; #define NUM_OS (sizeof(osname) / sizeof(osname[0])) static Picture *os[NUM_OS]; /* array of OS pictures*/ static MCursor *cursor[NUM_OS]; /* array of OS cursors (drag/drop) */ void OS_load_pix() { unsigned int i; for (i = 0; i < NUM_OS; i++) { UI_load_picture(osname[i], 1, &os[i]); if (i != 0) UI_load_cursor(osname[i], CURSOR_OWN_MASK, &cursor[i]); } } void OS_draw(int index, int x, int y) { UI_draw(os[index], x, y); } int OS_width() { return UI_picture_width(os[0]); } int OS_height() { return UI_picture_height(os[0]); } void OS_set_cursor(int index) { UI_set_cursor(cursor[index]); } int OS_randpc() { return (RAND(MIN_PC, NUM_OS - 1)); } int OS_ispc(int index) { return (index >= MIN_PC); } xbill-2.1/OS.h0100644000076400007640000000057707364635654013414 0ustar bwellingbwelling#ifndef OS_H #define OS_H #define OS_WINGDOWS 0 /* OS 0 is wingdows */ #define OS_OFF -1 /* OS -1 means the computer is off */ #define OS_PC 6 /* OS >= PC means the OS is a PC OS */ void OS_load_pix(void); void OS_draw(int index, int x, int y); int OS_width(void); int OS_height(void); void OS_set_cursor(int index); int OS_randpc(void); int OS_ispc(int index); #endif xbill-2.1/README0100644000076400007640000000407707367101546013570 0ustar bwellingbwellingXBill 2.1 Welcome to xbill... Ever get the feeling that nothing is going right? You're a sysadmin, and someone's trying to destroy your computers. The little people running around the screen are trying to infect your computers with Wingdows [TM], a virus cleverly designed to resemble a popular operating system. Your objective is to click the mouse on them, ending the potential threat. If one of the people reaches a computer, it will attempt to replace your operating system with the virus it carries. It will then attempt to run off the screen with your vital software. The game ends when only 1 (or 0) of your computers are being productive. Additionally, some computers are connected with network cables. When one computer on a network becomes infected, a spark will be sent down the cable, and will infect the computer on the other end when it reaches there. Clicking the button on one of the little people will cause it to cry out in pain and melt (id software eat your heart out!), dropping the stolen os if it is carrying one. If a computer is running Wingdows or is temporarily off, the os can be dragged back to the computer (or another computer compatible with that os). To extinguish a spark drag the bucket of water from the upper left corner onto it. The status bar at the bottom tells the following: Number of Bills on/off the screen Number of Computers running their OS/off/Wingdows Level Score Options: -l Start at level n. --gui Use a specific front end. The possible values are gtk, motif, and athena. Note that some of these may not be compiled into the binary. -size Play on a field of size x size, instead of the normal 400x400. must be larger than 400. -v Print version number and exit. -h Print help and exit. When using the GTK gui, all standard GTK options are supported. When using the Athena or Motif GUI, all standard X Intrinsics options are supported. Authors: Main Programmer: Brian Wellington Programming & graphics (v2.0 and earlier): Matias Duarte xbill-2.1/README.Ports0100644000076400007640000000164607375135123014672 0ustar bwellingbwellingHere's the status of the various ports: Mac: Josh Adams mostly finished this, based on a beta of 2.0, but never released it for some reason. If I can borrow a Mac OS X machine for a day or two, porting it should be easy now. Java: There are a bunch of Java ports around. I've never found one that works well. I started porting 2.0 a few years ago, and never finished. It's possible I'll start again. XFree86 for OS/2: Darwin O'Connor ported 2.0, and you can get it from http://www.reamined.on.ca/doconnor/xprogs.html. Linux SVGA: I got this mostly working on a beta of 2.0, but it had a couple problems (mouse support wasn't very good, no menus or windows), and is now hopelessly outdated. It does have an XPM and XBM reader. If anyone wants to finish this (write the missing parts and the new parts), let me know, and I can find the old code. - Brian (bwelling@xbill.org) xbill-2.1/Scorelist.c0100644000076400007640000000377307364504723015026 0ustar bwellingbwelling#include #include #include #include "Scorelist.h" #include "UI.h" #define NAMELEN 20 #define SCORES 10 typedef struct Score { char name[NAMELEN + 1]; int level; int score; } Score; static Score scores[SCORES]; void Scorelist_read() { FILE *scorefile = fopen(SCOREFILE, "r"); int i; if (scorefile != NULL) { for (i = 0; i < SCORES; i++) fscanf(scorefile, "%20s%d%d\n", scores[i].name, &scores[i].level, &scores[i].score); fclose(scorefile); } else { for (i = 0; i < SCORES; i++) { strcpy(scores[i].name, "Anonymous"); scores[i].level = 0; scores[i].score = 0; } } } void Scorelist_write() { FILE *scorefile = fopen(SCOREFILE, "w"); int i; if (scorefile == NULL) return; for (i = 0; i < SCORES; i++) fprintf(scorefile, "%-*s %d %d\n", NAMELEN, scores[i].name, scores[i].level, scores[i].score); fclose(scorefile); } /* Add new high score to list */ void Scorelist_recalc(const char *str, int level, int score) { int i; char tname[NAMELEN + 1]; char *nl; if (scores[SCORES - 1].score >= score) return; for (i = SCORES - 1; i > 0; i--) { if (scores[i - 1].score < score) { strcpy (scores[i].name, scores[i - 1].name); scores[i].level = scores[i - 1].level; scores[i].score = scores[i - 1].score; } else break; } memset(tname, 0, sizeof(tname)); if (str == NULL || str[0] == 0) strcpy(tname, "Anonymous"); strncpy(tname, str, sizeof(tname) - 1); nl = strchr(tname,'\n'); if (nl != NULL) *nl = 0; strcpy(scores[i].name, tname); scores[i].level = level; scores[i].score = score; } void Scorelist_update() { char str[500]; int i; sprintf(str, "%s\n\n", "High Scores:"); sprintf(str, "%s%-*s %6s %7s\n", str, NAMELEN, "Name", "Level", "Score"); for (i = 0; i < SCORES; i++) { sprintf(str, "%s%-*s %6d %7d\n", str, NAMELEN, scores[i].name, scores[i].level, scores[i].score); } UI_update_dialog(DIALOG_HIGHSCORE, str); } int Scorelist_ishighscore(int val) { return (val > scores[SCORES - 1].score); } xbill-2.1/Scorelist.h0100644000076400007640000000034707364504723015025 0ustar bwellingbwelling#ifndef SCORELIST_H #define SCORELIST_H void Scorelist_read(void); void Scorelist_write(void); void Scorelist_recalc(const char *str, int level, int score); void Scorelist_update(void); int Scorelist_ishighscore(int val); #endif xbill-2.1/Spark.c0100644000076400007640000000065007363174040014120 0ustar bwellingbwelling#include "types.h" #include "util.h" #include "Spark.h" #include "UI.h" static Picture *pictures[2]; void Spark_load_pix() { int i; for (i = 0; i < 2; i++) UI_load_picture_indexed("spark", i, 1, &pictures[i]); } int Spark_width() { return UI_picture_width(pictures[0]); } int Spark_height() { return UI_picture_height(pictures[0]); } void Spark_draw(int x, int y, int index) { UI_draw(pictures[index], x, y); } xbill-2.1/Spark.h0100644000076400007640000000035307363174040014125 0ustar bwellingbwelling#ifndef SPARK_H #define SPARK_H #define SPARK_SPEED 4 #define SPARK_DELAY(level) (MAX(20 - (level), 0)) void Spark_load_pix(void); int Spark_width(void); int Spark_height(void); void Spark_draw(int x, int y, int index); #endif xbill-2.1/UI.c0100644000076400007640000001122507363174040013355 0ustar bwellingbwelling#include #include #include #include "strings.h" #include "types.h" #include "util.h" #include "config.h" #include "Game.h" #include "UI.h" #if USE_ATHENA #include "x11-athena.h" #endif #if USE_MOTIF #include "x11-motif.h" #endif #if USE_GTK #include "gtk.h" #endif static int playing; static UI_methods *methods; static const char *dialog_strings[DIALOG_MAX + 1]; static const char *menu_strings[DIALOG_MAX + 1]; /* * Timer control routines */ void UI_restart_timer() { methods->start_timer(200); } void UI_kill_timer() { methods->stop_timer(); } void UI_pause_game() { if (methods->timer_active()) playing = 1; UI_kill_timer(); } void UI_resume_game() { if (playing && !methods->timer_active()) UI_restart_timer(); playing = 0; } /* * Window routines */ typedef struct guimap { const char *name; void (*setmethods)(UI_methods **methodsp); } guimap; static guimap guis[] = { #ifdef USE_GTK {"gtk", gtk_ui_setmethods}, #endif #ifdef USE_MOTIF {"motif", x11_motif_setmethods}, #endif #ifdef USE_ATHENA {"athena", x11_athena_setmethods}, #endif {NULL, NULL}, }; void UI_initialize(const char *gui, int *argc, char **argv) { guimap *map; if (gui == NULL) { map = guis; if (map->name == NULL) fatal("no configured GUIs"); map->setmethods(&methods); } else { for (map = guis; map->name != NULL; map++) if (strcasecmp(gui, map->name) == 0) break; if (map->name == NULL) fatal("GUI '%s' not found", gui); map->setmethods(&methods); } methods->initialize(argc, argv); } void UI_make_main_window(int size) { menu_strings[DIALOG_NEWGAME] = newgame_menu_str; menu_strings[DIALOG_PAUSEGAME] = pause_menu_str; menu_strings[DIALOG_WARPLEVEL] = warp_menu_str; menu_strings[DIALOG_HIGHSCORE] = highscore_menu_str; menu_strings[DIALOG_QUITGAME] = quit_menu_str; menu_strings[DIALOG_STORY] = story_menu_str; menu_strings[DIALOG_RULES] = rules_menu_str; menu_strings[DIALOG_ABOUT] = about_menu_str; menu_strings[DIALOG_SCORE] = score_menu_str; menu_strings[DIALOG_ENDGAME] = endgame_menu_str; menu_strings[DIALOG_ENTERNAME] = entername_menu_str; methods->make_main_window(size); } void UI_graphics_init() { methods->graphics_init(); } void UI_make_dialogs(Picture *logo, Picture *icon, Picture *about) { dialog_strings[DIALOG_NEWGAME] = newgame_dialog_str; dialog_strings[DIALOG_PAUSEGAME] = pause_dialog_str; dialog_strings[DIALOG_WARPLEVEL] = warp_dialog_str; dialog_strings[DIALOG_HIGHSCORE] = NULL; dialog_strings[DIALOG_QUITGAME] = quit_dialog_str; dialog_strings[DIALOG_STORY] = story_dialog_str; dialog_strings[DIALOG_RULES] = rules_dialog_str; dialog_strings[DIALOG_ABOUT] = NULL; dialog_strings[DIALOG_SCORE] = NULL; dialog_strings[DIALOG_ENDGAME] = endgame_dialog_str; dialog_strings[DIALOG_ENTERNAME] = entername_dialog_str; methods->create_dialogs(logo, icon, about); } void UI_popup_dialog(int dialog) { methods->popup_dialog(dialog); } /* * Graphics routines */ void UI_set_cursor(MCursor *cursor) { methods->set_cursor(cursor); } void UI_set_icon(Picture *icon) { methods->set_icon(icon); } void UI_clear() { methods->clear_window(); } void UI_refresh() { methods->refresh_window(); } void UI_draw(Picture *pict, int x, int y) { methods->draw_image(pict, x, y); } void UI_draw_line(int x1, int y1, int x2, int y2) { methods->draw_line(x1, y1, x2, y2); } void UI_draw_str(const char *str, int x, int y) { methods->draw_string(str, x, y); } /* * Other routines */ void UI_set_pausebutton (int action) { methods->set_pausebutton(action); } void UI_main_loop() { methods->main_loop(); } void UI_load_picture_indexed(const char *name, int index, int trans, Picture **pictp) { char *newname; if (index > 99) fatal("image index too large"); newname = xalloc(strlen(name) + 4); sprintf(newname, "%s_%d", name, index); UI_load_picture(newname, trans, pictp); free(newname); } void UI_load_picture(const char *name, int trans, Picture **pictp) { methods->load_picture(name, trans, pictp); } int UI_picture_width(Picture *pict) { return methods->picture_width(pict); } int UI_picture_height(Picture *pict) { return methods->picture_height(pict); } void UI_load_cursor(const char *name, int masked, MCursor **cursorp) { methods->load_cursor(name, masked, cursorp); } int UI_intersect(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int h2) { return ((abs(x2 - x1 + (w2 - w1) / 2) < (w1 + w2) / 2) && (abs(y2 - y1 + (h2 - h1) / 2) < (h1 + h2) / 2)); } void UI_update_dialog(int index, const char *str) { methods->update_dialog(index, str); } const char * UI_dialog_string(int index) { return dialog_strings[index]; } const char * UI_menu_string(int index) { return menu_strings[index]; } xbill-2.1/UI.h0100644000076400007640000000501007363174040013355 0ustar bwellingbwelling#ifndef X11_UI_H #define X11_UI_H #include "types.h" #define CURSOR_SEP_MASK 0 #define CURSOR_OWN_MASK 1 #define DIALOG_NEWGAME 0 #define DIALOG_PAUSEGAME 1 #define DIALOG_WARPLEVEL 2 #define DIALOG_HIGHSCORE 3 #define DIALOG_QUITGAME 4 #define DIALOG_STORY 5 #define DIALOG_RULES 6 #define DIALOG_ABOUT 7 #define DIALOG_SCORE 8 #define DIALOG_ENDGAME 9 #define DIALOG_ENTERNAME 10 #define DIALOG_MAX 10 void UI_restart_timer(void); void UI_kill_timer(void); void UI_pause_game(void); void UI_resume_game(void); void UI_initialize(const char *gui, int *argc, char **argv); void UI_make_main_window(int size); void UI_graphics_init(void); void UI_make_dialogs(Picture *logo, Picture *icon, Picture *about); void UI_popup_dialog(int index); void UI_set_cursor(MCursor *cursor); void UI_set_icon(Picture *icon); void UI_clear(void); void UI_refresh(void); void UI_draw(Picture *picture, int x, int y); void UI_draw_line(int x1, int y1, int x2, int y2); void UI_draw_str(const char *str, int x, int y); void UI_set_pausebutton(int action); void UI_main_loop(void); void UI_update_dialog(int index, const char *str); void UI_load_picture(const char *name, int trans, Picture **pictp); void UI_load_picture_indexed(const char *name, int index, int trans, Picture **pictp); int UI_picture_width(Picture *pict); int UI_picture_height(Picture *pict); void UI_load_cursor(const char *name, int masked, MCursor **cursorp); int UI_intersect(int x1, int y1, int w1, int h1, int x2, int y2, int w2, int h2); const char *UI_dialog_string(int index); const char *UI_menu_string(int index); typedef struct UI_methods { void (*set_cursor)(MCursor *cursor); void (*load_cursor)(const char *name, int masked, MCursor **cursorp); void (*load_picture)(const char *name, int trans, Picture **pictp); void (*set_icon)(Picture *pict); int (*picture_width)(Picture *pict); int (*picture_height)(Picture *pict); void (*graphics_init)(void); void (*clear_window)(void); void (*refresh_window)(void); void (*draw_image)(Picture *pict, int x, int y); void (*draw_line)(int x1, int y1, int x2, int y2); void (*draw_string)(const char *str, int x, int y); void (*start_timer)(int ms); void (*stop_timer)(void); int (*timer_active)(void); void (*popup_dialog)(int index); void (*main_loop)(void); void (*initialize)(int *argc, char **argv); void (*make_main_window)(int size); void (*create_dialogs)(Picture *logo, Picture *icon, Picture *about); void (*set_pausebutton)(int active); void (*update_dialog)(int index, const char *str); } UI_methods; #endif xbill-2.1/acconfig.h0100644000076400007640000000017307363174040014616 0ustar bwellingbwelling/* Use athena widgets */ #undef USE_ATHENA /* Use motif widgets */ #undef USE_MOTIF /* Use gtk widgets */ #undef USE_GTK xbill-2.1/config.h.in0100644000076400007640000000077607363174040014730 0ustar bwellingbwelling/* config.h.in. Generated automatically from configure.in by autoheader. */ /* Define to empty if the keyword does not work. */ #undef const /* Define if you have the ANSI C header files. */ #undef STDC_HEADERS /* Define if the X Window System is missing or not being used. */ #undef X_DISPLAY_MISSING /* Use athena widgets */ #undef USE_ATHENA /* Use motif widgets */ #undef USE_MOTIF /* Use gtk widgets */ #undef USE_GTK /* Define if you have the header file. */ #undef HAVE_UNISTD_H xbill-2.1/config.in0100644000076400007640000000000007363174040014456 0ustar bwellingbwellingxbill-2.1/configure0100755000076400007640000025600607363174040014613 0ustar bwellingbwelling#! /bin/sh # Guess values for system-dependent variables and create Makefiles. # Generated automatically using autoconf version 2.13 # Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. # # This configure script is free software; the Free Software Foundation # gives unlimited permission to copy, distribute and modify it. # Defaults: ac_help= ac_default_prefix=/usr/local # Any additions from configure.in: ac_help="$ac_help --with-x use the X Window System" ac_help="$ac_help --enable-motif build with the Motif widget set" ac_help="$ac_help --enable-athena build with the Athena widget set" ac_help="$ac_help --enable-gtk build with the GTK widget set" # Initialize some variables set by options. # The variables have the same names as the options, with # dashes changed to underlines. build=NONE cache_file=./config.cache exec_prefix=NONE host=NONE no_create= nonopt=NONE no_recursion= prefix=NONE program_prefix=NONE program_suffix=NONE program_transform_name=s,x,x, silent= site= srcdir= target=NONE verbose= x_includes=NONE x_libraries=NONE bindir='${exec_prefix}/bin' sbindir='${exec_prefix}/sbin' libexecdir='${exec_prefix}/libexec' datadir='${prefix}/share' sysconfdir='${prefix}/etc' sharedstatedir='${prefix}/com' localstatedir='${prefix}/var' libdir='${exec_prefix}/lib' includedir='${prefix}/include' oldincludedir='/usr/include' infodir='${prefix}/info' mandir='${prefix}/man' # Initialize some other variables. subdirs= MFLAGS= MAKEFLAGS= SHELL=${CONFIG_SHELL-/bin/sh} # Maximum number of lines to put in a shell here document. ac_max_here_lines=12 ac_prev= for ac_option do # If the previous option needs an argument, assign it. if test -n "$ac_prev"; then eval "$ac_prev=\$ac_option" ac_prev= continue fi case "$ac_option" in -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; *) ac_optarg= ;; esac # Accept the important Cygnus configure options, so we can diagnose typos. case "$ac_option" in -bindir | --bindir | --bindi | --bind | --bin | --bi) ac_prev=bindir ;; -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) bindir="$ac_optarg" ;; -build | --build | --buil | --bui | --bu) ac_prev=build ;; -build=* | --build=* | --buil=* | --bui=* | --bu=*) build="$ac_optarg" ;; -cache-file | --cache-file | --cache-fil | --cache-fi \ | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) ac_prev=cache_file ;; -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) cache_file="$ac_optarg" ;; -datadir | --datadir | --datadi | --datad | --data | --dat | --da) ac_prev=datadir ;; -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | --da=*) datadir="$ac_optarg" ;; -disable-* | --disable-*) ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` eval "enable_${ac_feature}=no" ;; -enable-* | --enable-*) ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } fi ac_feature=`echo $ac_feature| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "enable_${ac_feature}='$ac_optarg'" ;; -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | --exec | --exe | --ex) ac_prev=exec_prefix ;; -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | --exec=* | --exe=* | --ex=*) exec_prefix="$ac_optarg" ;; -gas | --gas | --ga | --g) # Obsolete; use --with-gas. with_gas=yes ;; -help | --help | --hel | --he) # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat << EOF Usage: configure [options] [host] Options: [defaults in brackets after descriptions] Configuration: --cache-file=FILE cache test results in FILE --help print this message --no-create do not create output files --quiet, --silent do not print \`checking...' messages --version print the version of autoconf that created configure Directory and file names: --prefix=PREFIX install architecture-independent files in PREFIX [$ac_default_prefix] --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX [same as prefix] --bindir=DIR user executables in DIR [EPREFIX/bin] --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] --libexecdir=DIR program executables in DIR [EPREFIX/libexec] --datadir=DIR read-only architecture-independent data in DIR [PREFIX/share] --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] --sharedstatedir=DIR modifiable architecture-independent data in DIR [PREFIX/com] --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] --libdir=DIR object code libraries in DIR [EPREFIX/lib] --includedir=DIR C header files in DIR [PREFIX/include] --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] --infodir=DIR info documentation in DIR [PREFIX/info] --mandir=DIR man documentation in DIR [PREFIX/man] --srcdir=DIR find the sources in DIR [configure dir or ..] --program-prefix=PREFIX prepend PREFIX to installed program names --program-suffix=SUFFIX append SUFFIX to installed program names --program-transform-name=PROGRAM run sed PROGRAM on installed program names EOF cat << EOF Host type: --build=BUILD configure for building on BUILD [BUILD=HOST] --host=HOST configure for HOST [guessed] --target=TARGET configure for TARGET [TARGET=HOST] Features and packages: --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) --enable-FEATURE[=ARG] include FEATURE [ARG=yes] --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) --x-includes=DIR X include files are in DIR --x-libraries=DIR X library files are in DIR EOF if test -n "$ac_help"; then echo "--enable and --with options recognized:$ac_help" fi exit 0 ;; -host | --host | --hos | --ho) ac_prev=host ;; -host=* | --host=* | --hos=* | --ho=*) host="$ac_optarg" ;; -includedir | --includedir | --includedi | --included | --include \ | --includ | --inclu | --incl | --inc) ac_prev=includedir ;; -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | --includ=* | --inclu=* | --incl=* | --inc=*) includedir="$ac_optarg" ;; -infodir | --infodir | --infodi | --infod | --info | --inf) ac_prev=infodir ;; -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) infodir="$ac_optarg" ;; -libdir | --libdir | --libdi | --libd) ac_prev=libdir ;; -libdir=* | --libdir=* | --libdi=* | --libd=*) libdir="$ac_optarg" ;; -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | --libexe | --libex | --libe) ac_prev=libexecdir ;; -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | --libexe=* | --libex=* | --libe=*) libexecdir="$ac_optarg" ;; -localstatedir | --localstatedir | --localstatedi | --localstated \ | --localstate | --localstat | --localsta | --localst \ | --locals | --local | --loca | --loc | --lo) ac_prev=localstatedir ;; -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) localstatedir="$ac_optarg" ;; -mandir | --mandir | --mandi | --mand | --man | --ma | --m) ac_prev=mandir ;; -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) mandir="$ac_optarg" ;; -nfp | --nfp | --nf) # Obsolete; use --without-fp. with_fp=no ;; -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) no_create=yes ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) no_recursion=yes ;; -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \ | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \ | --oldin | --oldi | --old | --ol | --o) ac_prev=oldincludedir ;; -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) oldincludedir="$ac_optarg" ;; -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) ac_prev=prefix ;; -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) prefix="$ac_optarg" ;; -program-prefix | --program-prefix | --program-prefi | --program-pref \ | --program-pre | --program-pr | --program-p) ac_prev=program_prefix ;; -program-prefix=* | --program-prefix=* | --program-prefi=* \ | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) program_prefix="$ac_optarg" ;; -program-suffix | --program-suffix | --program-suffi | --program-suff \ | --program-suf | --program-su | --program-s) ac_prev=program_suffix ;; -program-suffix=* | --program-suffix=* | --program-suffi=* \ | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) program_suffix="$ac_optarg" ;; -program-transform-name | --program-transform-name \ | --program-transform-nam | --program-transform-na \ | --program-transform-n | --program-transform- \ | --program-transform | --program-transfor \ | --program-transfo | --program-transf \ | --program-trans | --program-tran \ | --progr-tra | --program-tr | --program-t) ac_prev=program_transform_name ;; -program-transform-name=* | --program-transform-name=* \ | --program-transform-nam=* | --program-transform-na=* \ | --program-transform-n=* | --program-transform-=* \ | --program-transform=* | --program-transfor=* \ | --program-transfo=* | --program-transf=* \ | --program-trans=* | --program-tran=* \ | --progr-tra=* | --program-tr=* | --program-t=*) program_transform_name="$ac_optarg" ;; -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | -silent | --silent | --silen | --sile | --sil) silent=yes ;; -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb) ac_prev=sbindir ;; -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | --sbi=* | --sb=*) sbindir="$ac_optarg" ;; -sharedstatedir | --sharedstatedir | --sharedstatedi \ | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | --sharedst | --shareds | --shared | --share | --shar \ | --sha | --sh) ac_prev=sharedstatedir ;; -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \ | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | --sha=* | --sh=*) sharedstatedir="$ac_optarg" ;; -site | --site | --sit) ac_prev=site ;; -site=* | --site=* | --sit=*) site="$ac_optarg" ;; -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) ac_prev=srcdir ;; -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) srcdir="$ac_optarg" ;; -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | --syscon | --sysco | --sysc | --sys | --sy) ac_prev=sysconfdir ;; -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) sysconfdir="$ac_optarg" ;; -target | --target | --targe | --targ | --tar | --ta | --t) ac_prev=target ;; -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) target="$ac_optarg" ;; -v | -verbose | --verbose | --verbos | --verbo | --verb) verbose=yes ;; -version | --version | --versio | --versi | --vers) echo "configure generated by autoconf version 2.13" exit 0 ;; -with-* | --with-*) ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` case "$ac_option" in *=*) ;; *) ac_optarg=yes ;; esac eval "with_${ac_package}='$ac_optarg'" ;; -without-* | --without-*) ac_package=`echo $ac_option|sed -e 's/-*without-//'` # Reject names that are not valid shell variable names. if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } fi ac_package=`echo $ac_package| sed 's/-/_/g'` eval "with_${ac_package}=no" ;; --x) # Obsolete; use --with-x. with_x=yes ;; -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \ | --x-incl | --x-inc | --x-in | --x-i) ac_prev=x_includes ;; -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) x_includes="$ac_optarg" ;; -x-libraries | --x-libraries | --x-librarie | --x-librari \ | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) ac_prev=x_libraries ;; -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) x_libraries="$ac_optarg" ;; -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } ;; *) if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then echo "configure: warning: $ac_option: invalid host type" 1>&2 fi if test "x$nonopt" != xNONE; then { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } fi nonopt="$ac_option" ;; esac done if test -n "$ac_prev"; then { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } fi trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 # File descriptor usage: # 0 standard input # 1 file creation # 2 errors and warnings # 3 some systems may open it to /dev/tty # 4 used on the Kubota Titan # 6 checking for... messages and results # 5 compiler messages saved in config.log if test "$silent" = yes; then exec 6>/dev/null else exec 6>&1 fi exec 5>./config.log echo "\ This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. " 1>&5 # Strip out --no-create and --no-recursion so they do not pile up. # Also quote any args containing shell metacharacters. ac_configure_args= for ac_arg do case "$ac_arg" in -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | --no-cr | --no-c) ;; -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) ac_configure_args="$ac_configure_args '$ac_arg'" ;; *) ac_configure_args="$ac_configure_args $ac_arg" ;; esac done # NLS nuisances. # Only set these to C if already set. These must not be set unconditionally # because not all systems understand e.g. LANG=C (notably SCO). # Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! # Non-C LC_CTYPE values break the ctype check. if test "${LANG+set}" = set; then LANG=C; export LANG; fi if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi # confdefs.h avoids OS command line length limits that DEFS can exceed. rm -rf conftest* confdefs.h # AIX cpp loses on an empty file, so make sure it contains at least a newline. echo > confdefs.h # A filename unique to this package, relative to the directory that # configure is in, which we can look for to find out if srcdir is correct. ac_unique_file=Bucket.h # Find the source files, if location was not specified. if test -z "$srcdir"; then ac_srcdir_defaulted=yes # Try the directory containing this script, then its parent. ac_prog=$0 ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. srcdir=$ac_confdir if test ! -r $srcdir/$ac_unique_file; then srcdir=.. fi else ac_srcdir_defaulted=no fi if test ! -r $srcdir/$ac_unique_file; then if test "$ac_srcdir_defaulted" = yes; then { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } else { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } fi fi srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` # Prefer explicitly selected file to automatically selected ones. if test -z "$CONFIG_SITE"; then if test "x$prefix" != xNONE; then CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site" else CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site" fi fi for ac_site_file in $CONFIG_SITE; do if test -r "$ac_site_file"; then echo "loading site script $ac_site_file" . "$ac_site_file" fi done if test -r "$cache_file"; then echo "loading cache $cache_file" . $cache_file else echo "creating cache $cache_file" > $cache_file fi ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross ac_exeext= ac_objext=o if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then ac_n= ac_c=' ' ac_t=' ' else ac_n=-n ac_c= ac_t= fi else ac_n= ac_c='\c' ac_t= fi for ac_prog in 'bison -y' byacc do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:541: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_YACC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$YACC"; then ac_cv_prog_YACC="$YACC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_YACC="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi YACC="$ac_cv_prog_YACC" if test -n "$YACC"; then echo "$ac_t""$YACC" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$YACC" && break done test -n "$YACC" || YACC="yacc" # Extract the first word of "gcc", so it can be a program name with args. set dummy gcc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:574: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="gcc" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$CC"; then # Extract the first word of "cc", so it can be a program name with args. set dummy cc; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:604: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_prog_rejected=no ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then ac_prog_rejected=yes continue fi ac_cv_prog_CC="cc" break fi done IFS="$ac_save_ifs" if test $ac_prog_rejected = yes; then # We found a bogon in the path, so make sure we never use it. set dummy $ac_cv_prog_CC shift if test $# -gt 0; then # We chose a different compiler from the bogus one. # However, it has the same basename, so the bogon will be chosen # first if we set CC to just the basename; use the full file name. shift set dummy "$ac_dir/$ac_word" "$@" shift ac_cv_prog_CC="$@" fi fi fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$CC"; then case "`uname -s`" in *win32* | *WIN32*) # Extract the first word of "cl", so it can be a program name with args. set dummy cl; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:655: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CC"; then ac_cv_prog_CC="$CC" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CC="cl" break fi done IFS="$ac_save_ifs" fi fi CC="$ac_cv_prog_CC" if test -n "$CC"; then echo "$ac_t""$CC" 1>&6 else echo "$ac_t""no" 1>&6 fi ;; esac fi test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 echo "configure:687: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross cat > conftest.$ac_ext << EOF #line 698 "configure" #include "confdefs.h" main(){return(0);} EOF if { (eval echo configure:703: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cc_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then ac_cv_prog_cc_cross=no else ac_cv_prog_cc_cross=yes fi else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cc_works=no fi rm -fr conftest* ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 if test $ac_cv_prog_cc_works = no; then { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 echo "configure:729: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 cross_compiling=$ac_cv_prog_cc_cross echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 echo "configure:734: checking whether we are using GNU C" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.c <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gcc=yes else ac_cv_prog_gcc=no fi fi echo "$ac_t""$ac_cv_prog_gcc" 1>&6 if test $ac_cv_prog_gcc = yes; then GCC=yes else GCC= fi ac_test_CFLAGS="${CFLAGS+set}" ac_save_CFLAGS="$CFLAGS" CFLAGS= echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 echo "configure:762: checking whether ${CC-cc} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.c if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then ac_cv_prog_cc_g=yes else ac_cv_prog_cc_g=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 if test "$ac_test_CFLAGS" = set; then CFLAGS="$ac_save_CFLAGS" elif test $ac_cv_prog_cc_g = yes; then if test "$GCC" = yes; then CFLAGS="-g -O2" else CFLAGS="-g" fi else if test "$GCC" = yes; then CFLAGS="-O2" else CFLAGS= fi fi echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 echo "configure:794: checking how to run the C preprocessor" >&5 # On Suns, sometimes $CPP names a directory. if test -n "$CPP" && test -d "$CPP"; then CPP= fi if test -z "$CPP"; then if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # This must be in double quotes, not single quotes, because CPP may get # substituted into the Makefile and "${CC-cc}" will confuse make. CPP="${CC-cc} -E" # On the NeXT, cc -E runs the code through the compiler's parser, # not just through cpp. cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:815: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -E -traditional-cpp" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:832: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP="${CC-cc} -nologo -E" cat > conftest.$ac_ext < Syntax Error EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:849: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then : else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* CPP=/lib/cpp fi rm -f conftest* fi rm -f conftest* fi rm -f conftest* ac_cv_prog_CPP="$CPP" fi CPP="$ac_cv_prog_CPP" else ac_cv_prog_CPP="$CPP" fi echo "$ac_t""$CPP" 1>&6 # Extract the first word of "flex", so it can be a program name with args. set dummy flex; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:876: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LEX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$LEX"; then ac_cv_prog_LEX="$LEX" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_LEX="flex" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_LEX" && ac_cv_prog_LEX="lex" fi fi LEX="$ac_cv_prog_LEX" if test -n "$LEX"; then echo "$ac_t""$LEX" 1>&6 else echo "$ac_t""no" 1>&6 fi if test -z "$LEXLIB" then case "$LEX" in flex*) ac_lib=fl ;; *) ac_lib=l ;; esac echo $ac_n "checking for yywrap in -l$ac_lib""... $ac_c" 1>&6 echo "configure:910: checking for yywrap in -l$ac_lib" >&5 ac_lib_var=`echo $ac_lib'_'yywrap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-l$ac_lib $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 LEXLIB="-l$ac_lib" else echo "$ac_t""no" 1>&6 fi fi ac_aux_dir= for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do if test -f $ac_dir/install-sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install-sh -c" break elif test -f $ac_dir/install.sh; then ac_aux_dir=$ac_dir ac_install_sh="$ac_aux_dir/install.sh -c" break fi done if test -z "$ac_aux_dir"; then { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } fi ac_config_guess=$ac_aux_dir/config.guess ac_config_sub=$ac_aux_dir/config.sub ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. # Find a good install program. We prefer a C program (faster), # so one script is as good as another. But avoid the broken or # incompatible versions: # SysV /etc/install, /usr/sbin/install # SunOS /usr/etc/install # IRIX /sbin/install # AIX /bin/install # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag # AFS /usr/afsws/bin/install, which mishandles nonexistent args # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" # ./install, which can be erroneously created by make from ./install.sh. echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 echo "configure:982: checking for a BSD compatible install" >&5 if test -z "$INSTALL"; then if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" for ac_dir in $PATH; do # Account for people who put trailing slashes in PATH elements. case "$ac_dir/" in /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; *) # OSF1 and SCO ODT 3.0 have their own names for install. # Don't use installbsd from OSF since it installs stuff as root # by default. for ac_prog in ginstall scoinst install; do if test -f $ac_dir/$ac_prog; then if test $ac_prog = install && grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then # AIX install. It has an incompatible calling convention. : else ac_cv_path_install="$ac_dir/$ac_prog -c" break 2 fi fi done ;; esac done IFS="$ac_save_IFS" fi if test "${ac_cv_path_install+set}" = set; then INSTALL="$ac_cv_path_install" else # As a last resort, use the slow shell script. We don't cache a # path for INSTALL within a source directory, because that will # break other packages using the cache if that directory is # removed, or if the path is relative. INSTALL="$ac_install_sh" fi fi echo "$ac_t""$INSTALL" 1>&6 # Use test -z because SunOS4 sh mishandles braces in ${var-val}. # It thinks the first close brace ends the variable substitution. test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' echo $ac_n "checking whether ln -s works""... $ac_c" 1>&6 echo "configure:1035: checking whether ln -s works" >&5 if eval "test \"`echo '$''{'ac_cv_prog_LN_S'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else rm -f conftestdata if ln -s X conftestdata 2>/dev/null then rm -f conftestdata ac_cv_prog_LN_S="ln -s" else ac_cv_prog_LN_S=ln fi fi LN_S="$ac_cv_prog_LN_S" if test "$ac_cv_prog_LN_S" = "ln -s"; then echo "$ac_t""yes" 1>&6 else echo "$ac_t""no" 1>&6 fi echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6 echo "configure:1056: checking whether ${MAKE-make} sets \${MAKE}" >&5 set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftestmake <<\EOF all: @echo 'ac_maketemp="${MAKE}"' EOF # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=` if test -n "$ac_maketemp"; then eval ac_cv_prog_make_${ac_make}_set=yes else eval ac_cv_prog_make_${ac_make}_set=no fi rm -f conftestmake fi if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then echo "$ac_t""yes" 1>&6 SET_MAKE= else echo "$ac_t""no" 1>&6 SET_MAKE="MAKE=${MAKE-make}" fi # Extract the first word of "ranlib", so it can be a program name with args. set dummy ranlib; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1085: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$RANLIB"; then ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_RANLIB="ranlib" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" fi fi RANLIB="$ac_cv_prog_RANLIB" if test -n "$RANLIB"; then echo "$ac_t""$RANLIB" 1>&6 else echo "$ac_t""no" 1>&6 fi for ac_prog in $CCC c++ g++ gcc CC cxx cc++ cl do # Extract the first word of "$ac_prog", so it can be a program name with args. set dummy $ac_prog; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:1117: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_CXX'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$CXX"; then ac_cv_prog_CXX="$CXX" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_CXX="$ac_prog" break fi done IFS="$ac_save_ifs" fi fi CXX="$ac_cv_prog_CXX" if test -n "$CXX"; then echo "$ac_t""$CXX" 1>&6 else echo "$ac_t""no" 1>&6 fi test -n "$CXX" && break done test -n "$CXX" || CXX="gcc" echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works""... $ac_c" 1>&6 echo "configure:1149: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) works" >&5 ac_ext=C # CXXFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CXXCPP $CPPFLAGS' ac_compile='${CXX-g++} -c $CXXFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CXX-g++} -o conftest${ac_exeext} $CXXFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cxx_cross cat > conftest.$ac_ext << EOF #line 1160 "configure" #include "confdefs.h" int main(){return(0);} EOF if { (eval echo configure:1165: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then ac_cv_prog_cxx_works=yes # If we can't run a trivial program, we are probably using a cross compiler. if (./conftest; exit) 2>/dev/null; then ac_cv_prog_cxx_cross=no else ac_cv_prog_cxx_cross=yes fi else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 ac_cv_prog_cxx_works=no fi rm -fr conftest* ac_ext=c # CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. ac_cpp='$CPP $CPPFLAGS' ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' cross_compiling=$ac_cv_prog_cc_cross echo "$ac_t""$ac_cv_prog_cxx_works" 1>&6 if test $ac_cv_prog_cxx_works = no; then { echo "configure: error: installation or configuration problem: C++ compiler cannot create executables." 1>&2; exit 1; } fi echo $ac_n "checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 echo "configure:1191: checking whether the C++ compiler ($CXX $CXXFLAGS $LDFLAGS) is a cross-compiler" >&5 echo "$ac_t""$ac_cv_prog_cxx_cross" 1>&6 cross_compiling=$ac_cv_prog_cxx_cross echo $ac_n "checking whether we are using GNU C++""... $ac_c" 1>&6 echo "configure:1196: checking whether we are using GNU C++" >&5 if eval "test \"`echo '$''{'ac_cv_prog_gxx'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.C <&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then ac_cv_prog_gxx=yes else ac_cv_prog_gxx=no fi fi echo "$ac_t""$ac_cv_prog_gxx" 1>&6 if test $ac_cv_prog_gxx = yes; then GXX=yes else GXX= fi ac_test_CXXFLAGS="${CXXFLAGS+set}" ac_save_CXXFLAGS="$CXXFLAGS" CXXFLAGS= echo $ac_n "checking whether ${CXX-g++} accepts -g""... $ac_c" 1>&6 echo "configure:1224: checking whether ${CXX-g++} accepts -g" >&5 if eval "test \"`echo '$''{'ac_cv_prog_cxx_g'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else echo 'void f(){}' > conftest.cc if test -z "`${CXX-g++} -g -c conftest.cc 2>&1`"; then ac_cv_prog_cxx_g=yes else ac_cv_prog_cxx_g=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_prog_cxx_g" 1>&6 if test "$ac_test_CXXFLAGS" = set; then CXXFLAGS="$ac_save_CXXFLAGS" elif test $ac_cv_prog_cxx_g = yes; then if test "$GXX" = yes; then CXXFLAGS="-g -O2" else CXXFLAGS="-g" fi else if test "$GXX" = yes; then CXXFLAGS="-O2" else CXXFLAGS= fi fi # If we find X, set shell vars x_includes and x_libraries to the # paths, otherwise set no_x=yes. # Uses ac_ vars as temps to allow command line to override cache and checks. # --without-x overrides everything else, but does not touch the cache. echo $ac_n "checking for X""... $ac_c" 1>&6 echo "configure:1261: checking for X" >&5 # Check whether --with-x or --without-x was given. if test "${with_x+set}" = set; then withval="$with_x" : fi # $have_x is `yes', `no', `disabled', or empty when we do not yet know. if test "x$with_x" = xno; then # The user explicitly disabled X. have_x=disabled else if test "x$x_includes" != xNONE && test "x$x_libraries" != xNONE; then # Both variables are already set. have_x=yes else if eval "test \"`echo '$''{'ac_cv_have_x'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else # One or both of the vars are not set, and there is no cached value. ac_x_includes=NO ac_x_libraries=NO rm -fr conftestdir if mkdir conftestdir; then cd conftestdir # Make sure to not put "make" in the Imakefile rules, since we grep it out. cat > Imakefile <<'EOF' acfindx: @echo 'ac_im_incroot="${INCROOT}"; ac_im_usrlibdir="${USRLIBDIR}"; ac_im_libdir="${LIBDIR}"' EOF if (xmkmf) >/dev/null 2>/dev/null && test -f Makefile; then # GNU make sometimes prints "make[1]: Entering...", which would confuse us. eval `${MAKE-make} acfindx 2>/dev/null | grep -v make` # Open Windows xmkmf reportedly sets LIBDIR instead of USRLIBDIR. for ac_extension in a so sl; do if test ! -f $ac_im_usrlibdir/libX11.$ac_extension && test -f $ac_im_libdir/libX11.$ac_extension; then ac_im_usrlibdir=$ac_im_libdir; break fi done # Screen out bogus values from the imake configuration. They are # bogus both because they are the default anyway, and because # using them would break gcc on systems where it needs fixed includes. case "$ac_im_incroot" in /usr/include) ;; *) test -f "$ac_im_incroot/X11/Xos.h" && ac_x_includes="$ac_im_incroot" ;; esac case "$ac_im_usrlibdir" in /usr/lib | /lib) ;; *) test -d "$ac_im_usrlibdir" && ac_x_libraries="$ac_im_usrlibdir" ;; esac fi cd .. rm -fr conftestdir fi if test "$ac_x_includes" = NO; then # Guess where to find include files, by looking for this one X11 .h file. test -z "$x_direct_test_include" && x_direct_test_include=X11/Intrinsic.h # First, try using that file with no special directory specified. cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:1328: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* # We can compile using X headers with no special include directory. ac_x_includes= else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* # Look for the header file in a standard set of common directories. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in \ /usr/X11/include \ /usr/X11R6/include \ /usr/X11R5/include \ /usr/X11R4/include \ \ /usr/include/X11 \ /usr/include/X11R6 \ /usr/include/X11R5 \ /usr/include/X11R4 \ \ /usr/local/X11/include \ /usr/local/X11R6/include \ /usr/local/X11R5/include \ /usr/local/X11R4/include \ \ /usr/local/include/X11 \ /usr/local/include/X11R6 \ /usr/local/include/X11R5 \ /usr/local/include/X11R4 \ \ /usr/X386/include \ /usr/x386/include \ /usr/XFree86/include/X11 \ \ /usr/include \ /usr/local/include \ /usr/unsupported/include \ /usr/athena/include \ /usr/local/x11r5/include \ /usr/lpp/Xamples/include \ \ /usr/openwin/include \ /usr/openwin/share/include \ ; \ do if test -r "$ac_dir/$x_direct_test_include"; then ac_x_includes=$ac_dir break fi done fi rm -f conftest* fi # $ac_x_includes = NO if test "$ac_x_libraries" = NO; then # Check for the libraries. test -z "$x_direct_test_library" && x_direct_test_library=Xt test -z "$x_direct_test_function" && x_direct_test_function=XtMalloc # See if we find them without any special options. # Don't add to $LIBS permanently. ac_save_LIBS="$LIBS" LIBS="-l$x_direct_test_library $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* LIBS="$ac_save_LIBS" # We can link X programs with no special library path. ac_x_libraries= else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* LIBS="$ac_save_LIBS" # First see if replacing the include by lib works. # Check X11 before X11Rn because it is often a symlink to the current release. for ac_dir in `echo "$ac_x_includes" | sed s/include/lib/` \ /usr/X11/lib \ /usr/X11R6/lib \ /usr/X11R5/lib \ /usr/X11R4/lib \ \ /usr/lib/X11 \ /usr/lib/X11R6 \ /usr/lib/X11R5 \ /usr/lib/X11R4 \ \ /usr/local/X11/lib \ /usr/local/X11R6/lib \ /usr/local/X11R5/lib \ /usr/local/X11R4/lib \ \ /usr/local/lib/X11 \ /usr/local/lib/X11R6 \ /usr/local/lib/X11R5 \ /usr/local/lib/X11R4 \ \ /usr/X386/lib \ /usr/x386/lib \ /usr/XFree86/lib/X11 \ \ /usr/lib \ /usr/local/lib \ /usr/unsupported/lib \ /usr/athena/lib \ /usr/local/x11r5/lib \ /usr/lpp/Xamples/lib \ /lib/usr/lib/X11 \ \ /usr/openwin/lib \ /usr/openwin/share/lib \ ; \ do for ac_extension in a so sl; do if test -r $ac_dir/lib${x_direct_test_library}.$ac_extension; then ac_x_libraries=$ac_dir break 2 fi done done fi rm -f conftest* fi # $ac_x_libraries = NO if test "$ac_x_includes" = NO || test "$ac_x_libraries" = NO; then # Didn't find X anywhere. Cache the known absence of X. ac_cv_have_x="have_x=no" else # Record where we found X for the cache. ac_cv_have_x="have_x=yes \ ac_x_includes=$ac_x_includes ac_x_libraries=$ac_x_libraries" fi fi fi eval "$ac_cv_have_x" fi # $with_x != no if test "$have_x" != yes; then echo "$ac_t""$have_x" 1>&6 no_x=yes else # If each of the values was on the command line, it overrides each guess. test "x$x_includes" = xNONE && x_includes=$ac_x_includes test "x$x_libraries" = xNONE && x_libraries=$ac_x_libraries # Update the cache value to reflect the command line values. ac_cv_have_x="have_x=yes \ ac_x_includes=$x_includes ac_x_libraries=$x_libraries" echo "$ac_t""libraries $x_libraries, headers $x_includes" 1>&6 fi if test "$no_x" = yes; then # Not all programs may use this symbol, but it does not hurt to define it. cat >> confdefs.h <<\EOF #define X_DISPLAY_MISSING 1 EOF X_CFLAGS= X_PRE_LIBS= X_LIBS= X_EXTRA_LIBS= else if test -n "$x_includes"; then X_CFLAGS="$X_CFLAGS -I$x_includes" fi # It would also be nice to do this for all -L options, not just this one. if test -n "$x_libraries"; then X_LIBS="$X_LIBS -L$x_libraries" # For Solaris; some versions of Sun CC require a space after -R and # others require no space. Words are not sufficient . . . . case "`(uname -sr) 2>/dev/null`" in "SunOS 5"*) echo $ac_n "checking whether -R must be followed by a space""... $ac_c" 1>&6 echo "configure:1510: checking whether -R must be followed by a space" >&5 ac_xsave_LIBS="$LIBS"; LIBS="$LIBS -R$x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_nospace=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_R_nospace=no fi rm -f conftest* if test $ac_R_nospace = yes; then echo "$ac_t""no" 1>&6 X_LIBS="$X_LIBS -R$x_libraries" else LIBS="$ac_xsave_LIBS -R $x_libraries" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* ac_R_space=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_R_space=no fi rm -f conftest* if test $ac_R_space = yes; then echo "$ac_t""yes" 1>&6 X_LIBS="$X_LIBS -R $x_libraries" else echo "$ac_t""neither works" 1>&6 fi fi LIBS="$ac_xsave_LIBS" esac fi # Check for system-dependent libraries X programs must link with. # Do this before checking for the system-independent R6 libraries # (-lICE), since we may need -lsocket or whatever for X linking. if test "$ISC" = yes; then X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl_s -linet" else # Martyn.Johnson@cl.cam.ac.uk says this is needed for Ultrix, if the X # libraries were built with DECnet support. And karl@cs.umb.edu says # the Alpha needs dnet_stub (dnet does not exist). echo $ac_n "checking for dnet_ntoa in -ldnet""... $ac_c" 1>&6 echo "configure:1575: checking for dnet_ntoa in -ldnet" >&5 ac_lib_var=`echo dnet'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-ldnet $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet" else echo "$ac_t""no" 1>&6 fi if test $ac_cv_lib_dnet_dnet_ntoa = no; then echo $ac_n "checking for dnet_ntoa in -ldnet_stub""... $ac_c" 1>&6 echo "configure:1616: checking for dnet_ntoa in -ldnet_stub" >&5 ac_lib_var=`echo dnet_stub'_'dnet_ntoa | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-ldnet_stub $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -ldnet_stub" else echo "$ac_t""no" 1>&6 fi fi # msh@cis.ufl.edu says -lnsl (and -lsocket) are needed for his 386/AT, # to get the SysV transport functions. # chad@anasazi.com says the Pyramis MIS-ES running DC/OSx (SVR4) # needs -lnsl. # The nsl library prevents programs from opening the X display # on Irix 5.2, according to dickey@clark.net. echo $ac_n "checking for gethostbyname""... $ac_c" 1>&6 echo "configure:1664: checking for gethostbyname" >&5 if eval "test \"`echo '$''{'ac_cv_func_gethostbyname'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char gethostbyname(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_gethostbyname) || defined (__stub___gethostbyname) choke me #else gethostbyname(); #endif ; return 0; } EOF if { (eval echo configure:1692: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_gethostbyname=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_gethostbyname=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'gethostbyname`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_gethostbyname = no; then echo $ac_n "checking for gethostbyname in -lnsl""... $ac_c" 1>&6 echo "configure:1713: checking for gethostbyname in -lnsl" >&5 ac_lib_var=`echo nsl'_'gethostbyname | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lnsl $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -lnsl" else echo "$ac_t""no" 1>&6 fi fi # lieder@skyler.mavd.honeywell.com says without -lsocket, # socket/setsockopt and other routines are undefined under SCO ODT # 2.0. But -lsocket is broken on IRIX 5.2 (and is not necessary # on later versions), says simon@lia.di.epfl.ch: it contains # gethostby* variants that don't use the nameserver (or something). # -lsocket must be given before -lnsl if both are needed. # We assume that if connect needs -lnsl, so does gethostbyname. echo $ac_n "checking for connect""... $ac_c" 1>&6 echo "configure:1762: checking for connect" >&5 if eval "test \"`echo '$''{'ac_cv_func_connect'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char connect(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_connect) || defined (__stub___connect) choke me #else connect(); #endif ; return 0; } EOF if { (eval echo configure:1790: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_connect=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_connect=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'connect`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_connect = no; then echo $ac_n "checking for connect in -lsocket""... $ac_c" 1>&6 echo "configure:1811: checking for connect in -lsocket" >&5 ac_lib_var=`echo socket'_'connect | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lsocket $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="-lsocket $X_EXTRA_LIBS" else echo "$ac_t""no" 1>&6 fi fi # gomez@mi.uni-erlangen.de says -lposix is necessary on A/UX. echo $ac_n "checking for remove""... $ac_c" 1>&6 echo "configure:1854: checking for remove" >&5 if eval "test \"`echo '$''{'ac_cv_func_remove'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char remove(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_remove) || defined (__stub___remove) choke me #else remove(); #endif ; return 0; } EOF if { (eval echo configure:1882: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_remove=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_remove=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'remove`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_remove = no; then echo $ac_n "checking for remove in -lposix""... $ac_c" 1>&6 echo "configure:1903: checking for remove in -lposix" >&5 ac_lib_var=`echo posix'_'remove | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lposix $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -lposix" else echo "$ac_t""no" 1>&6 fi fi # BSDI BSD/OS 2.1 needs -lipc for XOpenDisplay. echo $ac_n "checking for shmat""... $ac_c" 1>&6 echo "configure:1946: checking for shmat" >&5 if eval "test \"`echo '$''{'ac_cv_func_shmat'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < /* Override any gcc2 internal prototype to avoid an error. */ /* We use char because int might match the return type of a gcc2 builtin and then its argument prototype would still apply. */ char shmat(); int main() { /* The GNU C library defines this for functions which it implements to always fail with ENOSYS. Some functions are actually named something starting with __ and the normal name is an alias. */ #if defined (__stub_shmat) || defined (__stub___shmat) choke me #else shmat(); #endif ; return 0; } EOF if { (eval echo configure:1974: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_func_shmat=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_func_shmat=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_func_'shmat`\" = yes"; then echo "$ac_t""yes" 1>&6 : else echo "$ac_t""no" 1>&6 fi if test $ac_cv_func_shmat = no; then echo $ac_n "checking for shmat in -lipc""... $ac_c" 1>&6 echo "configure:1995: checking for shmat in -lipc" >&5 ac_lib_var=`echo ipc'_'shmat | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lipc $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_EXTRA_LIBS="$X_EXTRA_LIBS -lipc" else echo "$ac_t""no" 1>&6 fi fi fi # Check for libraries that X11R6 Xt/Xaw programs need. ac_save_LDFLAGS="$LDFLAGS" test -n "$x_libraries" && LDFLAGS="$LDFLAGS -L$x_libraries" # SM needs ICE to (dynamically) link under SunOS 4.x (so we have to # check for ICE first), but we must link in the order -lSM -lICE or # we get undefined symbols. So assume we have SM if we have ICE. # These have to be linked with before -lX11, unlike the other # libraries we check for below, so use a different variable. # --interran@uluru.Stanford.EDU, kb@cs.umb.edu. echo $ac_n "checking for IceConnectionNumber in -lICE""... $ac_c" 1>&6 echo "configure:2047: checking for IceConnectionNumber in -lICE" >&5 ac_lib_var=`echo ICE'_'IceConnectionNumber | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lICE $X_EXTRA_LIBS $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 X_PRE_LIBS="$X_PRE_LIBS -lSM -lICE" else echo "$ac_t""no" 1>&6 fi LDFLAGS="$ac_save_LDFLAGS" fi echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6 echo "configure:2091: checking for ANSI C header files" >&5 if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < #include #include #include EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2104: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* ac_cv_header_stdc=yes else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* if test $ac_cv_header_stdc = yes; then # SunOS 4.x string.h does not declare mem*, contrary to ANSI. cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "memchr" >/dev/null 2>&1; then : else rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. cat > conftest.$ac_ext < EOF if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | egrep "free" >/dev/null 2>&1; then : else rm -rf conftest* ac_cv_header_stdc=no fi rm -f conftest* fi if test $ac_cv_header_stdc = yes; then # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. if test "$cross_compiling" = yes; then : else cat > conftest.$ac_ext < #define ISLOWER(c) ('a' <= (c) && (c) <= 'z') #define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) #define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) int main () { int i; for (i = 0; i < 256; i++) if (XOR (islower (i), ISLOWER (i)) || toupper (i) != TOUPPER (i)) exit(2); exit (0); } EOF if { (eval echo configure:2171: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null then : else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -fr conftest* ac_cv_header_stdc=no fi rm -fr conftest* fi fi fi echo "$ac_t""$ac_cv_header_stdc" 1>&6 if test $ac_cv_header_stdc = yes; then cat >> confdefs.h <<\EOF #define STDC_HEADERS 1 EOF fi for ac_hdr in unistd.h do ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'` echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6 echo "configure:2198: checking for $ac_hdr" >&5 if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext < EOF ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" { (eval echo configure:2208: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` if test -z "$ac_err"; then rm -rf conftest* eval "ac_cv_header_$ac_safe=yes" else echo "$ac_err" >&5 echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_header_$ac_safe=no" fi rm -f conftest* fi if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then echo "$ac_t""yes" 1>&6 ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'` cat >> confdefs.h <&6 fi done echo $ac_n "checking for working const""... $ac_c" 1>&6 echo "configure:2236: checking for working const" >&5 if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else cat > conftest.$ac_ext <j = 5; } { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */ const int foo = 10; } ; return 0; } EOF if { (eval echo configure:2290: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then rm -rf conftest* ac_cv_c_const=yes else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* ac_cv_c_const=no fi rm -f conftest* fi echo "$ac_t""$ac_cv_c_const" 1>&6 if test $ac_cv_c_const = no; then cat >> confdefs.h <<\EOF #define const EOF fi # Check whether --enable-motif or --disable-motif was given. if test "${enable_motif+set}" = set; then enableval="$enable_motif" : fi if test "$enable_motif" != "no"; then saved_cflags="$CFLAGS" saved_libs="$LIBS" CFLAGS="$CFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS $X_PRE_LIBS" echo $ac_n "checking for XmGetPixmap in -lXm""... $ac_c" 1>&6 echo "configure:2324: checking for XmGetPixmap in -lXm" >&5 ac_lib_var=`echo Xm'_'XmGetPixmap | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lXm -lXt -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 motif=yes else echo "$ac_t""no" 1>&6 fi if test "X$motif" = X"yes"; then cat >> confdefs.h <<\EOF #define USE_MOTIF 1 EOF WIDGET_LIBS="$WIDGET_LIBS -lXm" if test "X$libxp" = X"yes"; then WIDGET_LIBS="$WIDGET_LIBS -lXp -lXext" fi WIDGET_OBJS="$WIDGET_OBJS x11-motif.o" fi CFLAGS=$saved_cflags LIBS=$saved_libs fi # Check whether --enable-athena or --disable-athena was given. if test "${enable_athena+set}" = set; then enableval="$enable_athena" : fi if test "$enable_athena" != "no"; then saved_cflags="$CFLAGS" saved_libs="$LIBS" CFLAGS="$CFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS $X_PRE_LIBS" echo $ac_n "checking for XawInitializeWidgetSet in -lXaw3d""... $ac_c" 1>&6 echo "configure:2393: checking for XawInitializeWidgetSet in -lXaw3d" >&5 ac_lib_var=`echo Xaw3d'_'XawInitializeWidgetSet | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lXaw3d -lXmu -lXt -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 athena=yes athena3d=yes else echo "$ac_t""no" 1>&6 fi if test "X$athena" != X"yes"; then echo $ac_n "checking for XawInitializeWidgetSet in -lXaw""... $ac_c" 1>&6 echo "configure:2435: checking for XawInitializeWidgetSet in -lXaw" >&5 ac_lib_var=`echo Xaw'_'XawInitializeWidgetSet | sed 'y%./+-%__p_%'` if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else ac_save_LIBS="$LIBS" LIBS="-lXaw -lXmu -lXt -lXpm -lX11 $LIBS" cat > conftest.$ac_ext <&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=yes" else echo "configure: failed program was:" >&5 cat conftest.$ac_ext >&5 rm -rf conftest* eval "ac_cv_lib_$ac_lib_var=no" fi rm -f conftest* LIBS="$ac_save_LIBS" fi if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then echo "$ac_t""yes" 1>&6 athena=yes else echo "$ac_t""no" 1>&6 fi fi if test "X$athena" = X"yes"; then cat >> confdefs.h <<\EOF #define USE_ATHENA 1 EOF if test "X$athena3d" = X"yes"; then xawlib=-lXaw3d else xawlib=-lXaw fi WIDGET_LIBS="$WIDGET_LIBS $xawlib -lXmu" WIDGET_OBJS="$WIDGET_OBJS x11-athena.o" fi CFLAGS=$saved_cflags LIBS=$saved_libs fi if test "X$motif" = X"yes" -o "X$athena" = X"yes"; then WIDGET_LIBS="$WIDGET_LIBS -lXt -lX11" WIDGET_OBJS="$WIDGET_OBJS x11.o" fi # Check whether --enable-gtk or --disable-gtk was given. if test "${enable_gtk+set}" = set; then enableval="$enable_gtk" : fi if test "$enable_gtk" != "no"; then # Extract the first word of "gtk-config", so it can be a program name with args. set dummy gtk-config; ac_word=$2 echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 echo "configure:2512: checking for $ac_word" >&5 if eval "test \"`echo '$''{'ac_cv_prog_GTKCONFIG'+set}'`\" = set"; then echo $ac_n "(cached) $ac_c" 1>&6 else if test -n "$GTKCONFIG"; then ac_cv_prog_GTKCONFIG="$GTKCONFIG" # Let the user override the test. else IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" ac_dummy="$PATH" for ac_dir in $ac_dummy; do test -z "$ac_dir" && ac_dir=. if test -f $ac_dir/$ac_word; then ac_cv_prog_GTKCONFIG="yes" break fi done IFS="$ac_save_ifs" test -z "$ac_cv_prog_GTKCONFIG" && ac_cv_prog_GTKCONFIG="no" fi fi GTKCONFIG="$ac_cv_prog_GTKCONFIG" if test -n "$GTKCONFIG"; then echo "$ac_t""$GTKCONFIG" 1>&6 else echo "$ac_t""no" 1>&6 fi if test "X$GTKCONFIG" = X"yes"; then cat >> confdefs.h <<\EOF #define USE_GTK 1 EOF GTK_CFLAGS="`gtk-config --cflags`" WIDGET_LIBS="$WIDGET_LIBS `gtk-config --libs`" WIDGET_OBJS="$WIDGET_OBJS gtk.o" fi fi trap '' 1 2 15 cat > confcache <<\EOF # This file is a shell script that caches the results of configure # tests run on this system so they can be shared between configure # scripts and configure runs. It is not useful on other systems. # If it contains results you don't want to keep, you may remove or edit it. # # By default, configure uses ./config.cache as the cache file, # creating it if it does not exist already. You can give configure # the --cache-file=FILE option to use a different cache file; that is # what configure does when it calls configure scripts in # subdirectories, so they share the cache. # Giving --cache-file=/dev/null disables caching, for debugging configure. # config.status only pays attention to the cache file if you give it the # --recheck option to rerun configure. # EOF # The following way of writing the cache mishandles newlines in values, # but we know of no workaround that is simple, portable, and efficient. # So, don't put newlines in cache variables' values. # Ultrix sh set writes to stderr and can't be redirected directly, # and sets the high bit in the cache file unless we assign to the vars. (set) 2>&1 | case `(ac_space=' '; set | grep ac_space) 2>&1` in *ac_space=\ *) # `set' does not quote correctly, so add quotes (double-quote substitution # turns \\\\ into \\, and sed turns \\ into \). sed -n \ -e "s/'/'\\\\''/g" \ -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" ;; *) # `set' quotes correctly as required by POSIX, so do not add quotes. sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' ;; esac >> confcache if cmp -s $cache_file confcache; then : else if test -w $cache_file; then echo "updating cache $cache_file" cat confcache > $cache_file else echo "not updating unwritable cache $cache_file" fi fi rm -f confcache trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 test "x$prefix" = xNONE && prefix=$ac_default_prefix # Let make expand exec_prefix. test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' # Any assignment to VPATH causes Sun make to only execute # the first set of double-colon rules, so remove it if not needed. # If there is a colon in the path, we need to keep it. if test "x$srcdir" = x.; then ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' fi trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 DEFS=-DHAVE_CONFIG_H # Without the "./", some shells look in PATH for config.status. : ${CONFIG_STATUS=./config.status} echo creating $CONFIG_STATUS rm -f $CONFIG_STATUS cat > $CONFIG_STATUS </dev/null | sed 1q`: # # $0 $ac_configure_args # # Compiler output produced by configure, useful for debugging # configure, is in ./config.log if it exists. ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" for ac_option do case "\$ac_option" in -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; -version | --version | --versio | --versi | --vers | --ver | --ve | --v) echo "$CONFIG_STATUS generated by autoconf version 2.13" exit 0 ;; -help | --help | --hel | --he | --h) echo "\$ac_cs_usage"; exit 0 ;; *) echo "\$ac_cs_usage"; exit 1 ;; esac done ac_given_srcdir=$srcdir ac_given_INSTALL="$INSTALL" trap 'rm -fr `echo "Makefile config.h" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 EOF cat >> $CONFIG_STATUS < conftest.subs <<\\CEOF $ac_vpsub $extrasub s%@SHELL@%$SHELL%g s%@CFLAGS@%$CFLAGS%g s%@CPPFLAGS@%$CPPFLAGS%g s%@CXXFLAGS@%$CXXFLAGS%g s%@FFLAGS@%$FFLAGS%g s%@DEFS@%$DEFS%g s%@LDFLAGS@%$LDFLAGS%g s%@LIBS@%$LIBS%g s%@exec_prefix@%$exec_prefix%g s%@prefix@%$prefix%g s%@program_transform_name@%$program_transform_name%g s%@bindir@%$bindir%g s%@sbindir@%$sbindir%g s%@libexecdir@%$libexecdir%g s%@datadir@%$datadir%g s%@sysconfdir@%$sysconfdir%g s%@sharedstatedir@%$sharedstatedir%g s%@localstatedir@%$localstatedir%g s%@libdir@%$libdir%g s%@includedir@%$includedir%g s%@oldincludedir@%$oldincludedir%g s%@infodir@%$infodir%g s%@mandir@%$mandir%g s%@YACC@%$YACC%g s%@CC@%$CC%g s%@CPP@%$CPP%g s%@LEX@%$LEX%g s%@LEXLIB@%$LEXLIB%g s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g s%@INSTALL_DATA@%$INSTALL_DATA%g s%@LN_S@%$LN_S%g s%@SET_MAKE@%$SET_MAKE%g s%@RANLIB@%$RANLIB%g s%@CXX@%$CXX%g s%@X_CFLAGS@%$X_CFLAGS%g s%@X_PRE_LIBS@%$X_PRE_LIBS%g s%@X_LIBS@%$X_LIBS%g s%@X_EXTRA_LIBS@%$X_EXTRA_LIBS%g s%@WIDGET_LIBS@%$WIDGET_LIBS%g s%@WIDGET_OBJS@%$WIDGET_OBJS%g s%@GTKCONFIG@%$GTKCONFIG%g s%@GTK_CFLAGS@%$GTK_CFLAGS%g CEOF EOF cat >> $CONFIG_STATUS <<\EOF # Split the substitutions into bite-sized pieces for seds with # small command number limits, like on Digital OSF/1 and HP-UX. ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. ac_file=1 # Number of current file. ac_beg=1 # First line for current file. ac_end=$ac_max_sed_cmds # Line after last line for current file. ac_more_lines=: ac_sed_cmds="" while $ac_more_lines; do if test $ac_beg -gt 1; then sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file else sed "${ac_end}q" conftest.subs > conftest.s$ac_file fi if test ! -s conftest.s$ac_file; then ac_more_lines=false rm -f conftest.s$ac_file else if test -z "$ac_sed_cmds"; then ac_sed_cmds="sed -f conftest.s$ac_file" else ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" fi ac_file=`expr $ac_file + 1` ac_beg=$ac_end ac_end=`expr $ac_end + $ac_max_sed_cmds` fi done if test -z "$ac_sed_cmds"; then ac_sed_cmds=cat fi EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" # A "../" for each directory in $ac_dir_suffix. ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` else ac_dir_suffix= ac_dots= fi case "$ac_given_srcdir" in .) srcdir=. if test -z "$ac_dots"; then top_srcdir=. else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; *) # Relative path. srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" top_srcdir="$ac_dots$ac_given_srcdir" ;; esac case "$ac_given_INSTALL" in [/$]*) INSTALL="$ac_given_INSTALL" ;; *) INSTALL="$ac_dots$ac_given_INSTALL" ;; esac echo creating "$ac_file" rm -f "$ac_file" configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." case "$ac_file" in *Makefile*) ac_comsub="1i\\ # $configure_input" ;; *) ac_comsub= ;; esac ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` sed -e "$ac_comsub s%@configure_input@%$configure_input%g s%@srcdir@%$srcdir%g s%@top_srcdir@%$top_srcdir%g s%@INSTALL@%$INSTALL%g " $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file fi; done rm -f conftest.s* # These sed commands are passed to sed as "A NAME B NAME C VALUE D", where # NAME is the cpp macro being defined and VALUE is the value it is being given. # # ac_d sets the value in "#define NAME VALUE" lines. ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)' ac_dB='\([ ][ ]*\)[^ ]*%\1#\2' ac_dC='\3' ac_dD='%g' # ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE". ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_uB='\([ ]\)%\1#\2define\3' ac_uC=' ' ac_uD='\4%g' # ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE". ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)' ac_eB='$%\1#\2define\3' ac_eC=' ' ac_eD='%g' if test "${CONFIG_HEADERS+set}" != set; then EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF fi for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". case "$ac_file" in *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; *) ac_file_in="${ac_file}.in" ;; esac echo creating $ac_file rm -f conftest.frag conftest.in conftest.out ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` cat $ac_file_inputs > conftest.in EOF # Transform confdefs.h into a sed script conftest.vals that substitutes # the proper values into config.h.in to produce config.h. And first: # Protect against being on the right side of a sed subst in config.status. # Protect against being in an unquoted here document in config.status. rm -f conftest.vals cat > conftest.hdr <<\EOF s/[\\&%]/\\&/g s%[\\$`]%\\&%g s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp s%ac_d%ac_u%gp s%ac_u%ac_e%gp EOF sed -n -f conftest.hdr confdefs.h > conftest.vals rm -f conftest.hdr # This sed command replaces #undef with comments. This is necessary, for # example, in the case of _POSIX_SOURCE, which is predefined and required # on some systems where configure will not decide to define it. cat >> conftest.vals <<\EOF s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */% EOF # Break up conftest.vals because some shells have a limit on # the size of here documents, and old seds have small limits too. rm -f conftest.tail while : do ac_lines=`grep -c . conftest.vals` # grep -c gives empty output for an empty file on some AIX systems. if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi # Write a limited-size here document to conftest.frag. echo ' cat > conftest.frag <> $CONFIG_STATUS sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS echo 'CEOF sed -f conftest.frag conftest.in > conftest.out rm -f conftest.in mv conftest.out conftest.in ' >> $CONFIG_STATUS sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail rm -f conftest.vals mv conftest.tail conftest.vals done rm -f conftest.vals cat >> $CONFIG_STATUS <<\EOF rm -f conftest.frag conftest.h echo "/* $ac_file. Generated automatically by configure. */" > conftest.h cat conftest.in >> conftest.h rm -f conftest.in if cmp -s $ac_file conftest.h 2>/dev/null; then echo "$ac_file is unchanged" rm -f conftest.h else # Remove last slash and all that follows it. Not all systems have dirname. ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then # The file is in a subdirectory. test ! -d "$ac_dir" && mkdir "$ac_dir" fi rm -f $ac_file mv conftest.h $ac_file fi fi; done EOF cat >> $CONFIG_STATUS <> $CONFIG_STATUS <<\EOF exit 0 EOF chmod +x $CONFIG_STATUS rm -fr confdefs* $ac_clean_files test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 xbill-2.1/configure.in0100644000076400007640000000436307363174040015212 0ustar bwellingbwellingdnl Process this file with autoconf to produce a configure script. AC_INIT(Bucket.h) AC_CONFIG_HEADER(config.h) dnl Checks for programs. AC_PROG_YACC AC_PROG_CC AC_PROG_CPP AC_PROG_LEX AC_PROG_INSTALL AC_PROG_LN_S AC_PROG_MAKE_SET AC_PROG_RANLIB AC_PROG_CXX dnl Checks for header files. AC_PATH_XTRA AC_HEADER_STDC AC_CHECK_HEADERS(unistd.h) dnl Checks for typedefs, structures, and compiler characteristics. AC_C_CONST AC_ARG_ENABLE(motif, [ --enable-motif build with the Motif widget set]) if test "$enable_motif" != "no"; then saved_cflags="$CFLAGS" saved_libs="$LIBS" CFLAGS="$CFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS $X_PRE_LIBS" AC_CHECK_LIB(Xm, XmGetPixmap, motif=yes, , -lXt -lX11) if test "X$motif" = X"yes"; then AC_DEFINE(USE_MOTIF) WIDGET_LIBS="$WIDGET_LIBS -lXm" if test "X$libxp" = X"yes"; then WIDGET_LIBS="$WIDGET_LIBS -lXp -lXext" fi WIDGET_OBJS="$WIDGET_OBJS x11-motif.o" fi CFLAGS=$saved_cflags LIBS=$saved_libs fi AC_ARG_ENABLE(athena, [ --enable-athena build with the Athena widget set]) if test "$enable_athena" != "no"; then saved_cflags="$CFLAGS" saved_libs="$LIBS" CFLAGS="$CFLAGS $X_CFLAGS" LIBS="$LIBS $X_LIBS $X_PRE_LIBS" AC_CHECK_LIB(Xaw3d, XawInitializeWidgetSet, [athena=yes athena3d=yes], , -lXmu -lXt -lX11) if test "X$athena" != X"yes"; then AC_CHECK_LIB(Xaw, XawInitializeWidgetSet, athena=yes, , -lXmu -lXt -lX11) fi if test "X$athena" = X"yes"; then AC_DEFINE(USE_ATHENA) if test "X$athena3d" = X"yes"; then xawlib=-lXaw3d else xawlib=-lXaw fi WIDGET_LIBS="$WIDGET_LIBS $xawlib -lXmu" WIDGET_OBJS="$WIDGET_OBJS x11-athena.o" fi CFLAGS=$saved_cflags LIBS=$saved_libs fi if test "X$motif" = X"yes" -o "X$athena" = X"yes"; then WIDGET_LIBS="$WIDGET_LIBS -lXt -lXpm -lX11" WIDGET_OBJS="$WIDGET_OBJS x11.o" AC_SUBST(WIDGET_LIBS) AC_SUBST(WIDGET_OBJS) fi AC_ARG_ENABLE(gtk, [ --enable-gtk build with the GTK widget set]) if test "$enable_gtk" != "no"; then AC_CHECK_PROG(GTKCONFIG, gtk-config, yes, no) if test "X$GTKCONFIG" = X"yes"; then AC_DEFINE(USE_GTK) GTK_CFLAGS="`gtk-config --cflags`" WIDGET_LIBS="$WIDGET_LIBS `gtk-config --libs`" WIDGET_OBJS="$WIDGET_OBJS gtk.o" fi fi AC_SUBST(GTK_CFLAGS) AC_OUTPUT(Makefile) xbill-2.1/gtk.c0100644000076400007640000003673707367570513013655 0ustar bwellingbwelling#include #include #include #include #include #include #include "util.h" #include "gtk.h" #include "Game.h" #include "UI.h" struct MCursor { GdkCursor *cursor; }; struct Picture { gint width, height; GdkPixmap *pix; GdkBitmap *mask; GdkGC *gc; }; static const char *pictdir; static GtkWidget *toplevel, *base, *menubar, *field; static GtkWidget *dialogs[DIALOG_MAX + 1]; static GtkWidget *pausebutton; static guint timer; static GdkGC *stdgc; static GdkPixmap *offscreen; static GdkFont *font; static GdkColor white, black; static int screensize; /* * Callback functions */ static void gtk_ui_popup_dialog(int index) { GtkWidget *popup; int tx, ty, tw, th; int px, py, pw, ph; popup = dialogs[index]; gdk_window_get_origin(toplevel->window, &tx, &ty); gdk_window_get_size(toplevel->window, &tw, &th); gdk_window_get_size(popup->window, &pw, &ph); px = tx + (tw - pw) / 2; py = ty + (th - ph) / 2; gtk_window_set_position(GTK_WINDOW(popup), GTK_WIN_POS_NONE); gtk_widget_set_uposition(popup, px, py); gtk_widget_show_all(popup); gtk_main(); } static void popdown(void) { gtk_main_quit(); } static void new_game(void) { Game_start(1); } static void quit_game(void) { Game_quit(); } static void warp_apply(GtkWidget *text) { char *str; char *endp; int newlevel; str = gtk_entry_get_text(GTK_ENTRY(text)); newlevel = strtol(str, &endp, 10); if (*endp != '\0') return; Game_warp_to_level(newlevel); } static void enter_name(GtkWidget *text) { char *str; str = gtk_entry_get_text(GTK_ENTRY(text)); Game_add_high_score(str); } /* * Event handlers */ static gboolean leave_window(GtkWidget *widget, GdkEvent *event, gpointer user_data) { UNUSED(widget); UNUSED(event); UNUSED(user_data); UI_pause_game(); return FALSE; } static gboolean enter_window(GtkWidget *widget, GdkEvent *event, gpointer user_data) { UNUSED(widget); UNUSED(event); UNUSED(user_data); UI_resume_game(); return FALSE; } static gboolean redraw_window(GtkWidget *widget, GdkEvent *event, gpointer user_data) { UNUSED(widget); UNUSED(event); UNUSED(user_data); UI_refresh(); return FALSE; } static gboolean button_press(GtkWidget *widget, GdkEvent *event, gpointer user_data) { GdkEventButton *buttonevent = (GdkEventButton *) event; UNUSED(widget); UNUSED(user_data); Game_button_press((int)buttonevent->x, (int)buttonevent->y); return FALSE; } static gboolean button_release(GtkWidget *widget, GdkEvent *event, gpointer user_data) { GdkEventButton *buttonevent = (GdkEventButton *) event; UNUSED(widget); UNUSED(user_data); Game_button_release((int)buttonevent->x, (int)buttonevent->y); return FALSE; } static int timer_tick(gpointer arg) { UNUSED(arg); UI_restart_timer(); Game_update(); return TRUE; } /* * Cursor handling */ #include "bitmaps/apple.xbm" #include "bitmaps/bsd.xbm" #include "bitmaps/hurd.xbm" #include "bitmaps/linux.xbm" #include "bitmaps/next.xbm" #include "bitmaps/os2.xbm" #include "bitmaps/palm.xbm" #include "bitmaps/redhat.xbm" #include "bitmaps/sgi.xbm" #include "bitmaps/sun.xbm" #include "bitmaps/bucket.xbm" #include "bitmaps/hand_down.xbm" #include "bitmaps/hand_down_mask.xbm" #include "bitmaps/hand_up.xbm" #include "bitmaps/hand_up_mask.xbm" typedef struct cursormap { const char *name; int width, height; const char *data, *maskdata; } cursormap; #define CURSOR_ADD(x) \ {#x, x ## _width, x ## _height, x ## _bits, NULL} #define CURSOR_ADD_MASKED(x) \ {#x, x ## _width, x ## _height, x ## _bits, x ## _mask_bits} static cursormap cursors[] = { CURSOR_ADD(apple), CURSOR_ADD(bsd), CURSOR_ADD(hurd), CURSOR_ADD(linux), CURSOR_ADD(next), CURSOR_ADD(os2), CURSOR_ADD(palm), CURSOR_ADD(redhat), CURSOR_ADD(sgi), CURSOR_ADD(sun), CURSOR_ADD(bucket), CURSOR_ADD_MASKED(hand_up), CURSOR_ADD_MASKED(hand_down), {NULL, 0, 0, NULL, NULL}, }; static void gtk_ui_set_cursor(MCursor *cursor) { gdk_window_set_cursor(field->window, cursor->cursor); } static void gtk_ui_load_cursor(const char *name, int masked, MCursor **cursorp) { MCursor *cursor; GdkBitmap *bitmap, *mask; cursormap *c; cursor = xalloc(sizeof *cursor); for (c = cursors; c->name != NULL; c++) if (strcmp(name, c->name) == 0) break; if (c->name == NULL) fatal("couldn't load cursor: %s", name); bitmap = gdk_bitmap_create_from_data(field->window, c->data, c->width, c->height); if (masked == CURSOR_SEP_MASK) mask = gdk_bitmap_create_from_data(field->window, c->maskdata, c->width, c->height); else mask = bitmap; cursor->cursor = gdk_cursor_new_from_pixmap(bitmap, mask, &black, &white, c->width/2, c->height/2); *cursorp = cursor; } /* * Pixmap handling */ static void gtk_ui_load_picture(const char *name, int trans, Picture **pictp) { Picture *pict; char file[255]; GdkBitmap *mask; UNUSED(trans); pict = xalloc(sizeof *pict); sprintf(file, "%s/pixmaps/%s.xpm", pictdir, name); pict->pix = gdk_pixmap_create_from_xpm(toplevel->window, &mask, NULL, file); if (pict->pix == NULL) fatal("error reading %s", file); pict->mask = mask; pict->gc = gdk_gc_new(toplevel->window); gdk_gc_set_exposures(pict->gc, FALSE); gdk_gc_set_clip_mask(pict->gc, mask); gdk_window_get_size(pict->pix, &pict->width, &pict->height); *pictp = pict; } static void gtk_ui_set_icon(Picture *icon) { gdk_window_set_icon(toplevel->window, NULL, icon->pix, icon->mask); } static int gtk_ui_picture_width(Picture *pict) { return (pict->width); } static int gtk_ui_picture_height(Picture *pict) { return (pict->height); } /* * Graphics operations */ static void gtk_ui_clear_window(void) { gdk_draw_rectangle(offscreen, field->style->white_gc, TRUE, 0, 0, screensize, screensize); } static void gtk_ui_refresh_window(void) { gdk_draw_pixmap(field->window, stdgc, offscreen, 0, 0, 0, 0, screensize, screensize); } static void gtk_ui_draw_image(Picture *pict, int x, int y) { gdk_gc_set_clip_origin(pict->gc, x, y); gdk_draw_pixmap(offscreen, pict->gc, pict->pix, 0, 0, x, y, pict->width, pict->height); } static void gtk_ui_draw_line(int x1, int y1, int x2, int y2) { gdk_draw_line(offscreen, stdgc, x1, y1, x2, y2); } static void gtk_ui_draw_string(const char *str, int x, int y) { gdk_draw_string(offscreen, font, stdgc, x, y, str); } /* * Timer operations */ static void gtk_ui_start_timer(int ms) { if (timer == 0) timer = gtk_timeout_add(ms, timer_tick, NULL); } static void gtk_ui_stop_timer(void) { if (timer != 0) gtk_timeout_remove(timer); timer = 0; } static int gtk_ui_timer_active(void) { return (!!timer); } /* * Main Loop */ static void gtk_ui_main_loop(void) { gtk_main(); } /* * Initialization */ static void gtk_ui_initialize(int *argc, char **argv) { struct stat stats; gtk_init(argc, &argv); toplevel = gtk_window_new(GTK_WINDOW_TOPLEVEL); timer = 0; gtk_window_set_title(GTK_WINDOW(toplevel), "XBill"); gtk_signal_connect(GTK_OBJECT(toplevel), "delete_event", GTK_SIGNAL_FUNC(quit_game), NULL); if (stat(IMAGES, &stats) == 0) pictdir = IMAGES; else pictdir = "."; } static GtkWidget * new_menu_item(GtkWidget *menu, int dialog) { GtkWidget *menu_item; menu_item = gtk_menu_item_new_with_label(UI_menu_string(dialog)); gtk_menu_append(GTK_MENU(menu), menu_item); gtk_signal_connect_object(GTK_OBJECT(menu_item), "activate", gtk_ui_popup_dialog, (gpointer) dialog); return (menu_item); } static GtkWidget * CreateMenuBar(void) { GtkWidget *menubar; GtkWidget *game_item, *game_menu; GtkWidget *info_item, *info_menu; GtkWidget *tearoff; menubar = gtk_menu_bar_new(); game_item = gtk_menu_item_new_with_label("Game"); game_menu = gtk_menu_new(); tearoff = gtk_tearoff_menu_item_new(); gtk_menu_append(GTK_MENU(game_menu), tearoff); new_menu_item(game_menu, DIALOG_NEWGAME); pausebutton = new_menu_item(game_menu, DIALOG_PAUSEGAME); new_menu_item(game_menu, DIALOG_WARPLEVEL); new_menu_item(game_menu, DIALOG_HIGHSCORE); new_menu_item(game_menu, DIALOG_QUITGAME); gtk_menu_bar_append(GTK_MENU_BAR(menubar), game_item); gtk_menu_item_set_submenu(GTK_MENU_ITEM(game_item), game_menu); info_item = gtk_menu_item_new_with_label("Info"); info_menu = gtk_menu_new(); tearoff = gtk_tearoff_menu_item_new(); gtk_menu_append(GTK_MENU(info_menu), tearoff); new_menu_item(info_menu, DIALOG_STORY); new_menu_item(info_menu, DIALOG_RULES); new_menu_item(info_menu, DIALOG_ABOUT); gtk_menu_bar_append(GTK_MENU_BAR(menubar), info_item); gtk_menu_item_set_submenu(GTK_MENU_ITEM(info_item), info_menu); return menubar; } static GtkWidget * CreateDrawingArea(int width, int height) { GtkWidget *w = gtk_drawing_area_new(); gtk_drawing_area_size(GTK_DRAWING_AREA(w), width, height); return w; } static void gtk_ui_make_main_window(int size) { GdkWindowHints flags; GdkGeometry geom; gint winwidth, winheight; screensize = size; base = gtk_vbox_new(FALSE, 0); gtk_container_add(GTK_CONTAINER(toplevel), base); menubar = CreateMenuBar(); gtk_box_pack_start(GTK_BOX(base), menubar, FALSE, FALSE, 0); field = CreateDrawingArea(size, size); gtk_box_pack_start(GTK_BOX(base), field, FALSE, FALSE, 0); gtk_signal_connect(GTK_OBJECT(field), "button-press-event", GTK_SIGNAL_FUNC(button_press), NULL); gtk_signal_connect(GTK_OBJECT(field), "button-release-event", GTK_SIGNAL_FUNC(button_release), NULL); gtk_signal_connect(GTK_OBJECT(field), "enter-notify-event", GTK_SIGNAL_FUNC(enter_window), NULL); gtk_signal_connect(GTK_OBJECT(field), "leave-notify-event", GTK_SIGNAL_FUNC(leave_window), NULL); gtk_signal_connect(GTK_OBJECT(field), "expose-event", GTK_SIGNAL_FUNC(redraw_window), NULL); gtk_widget_set_events(field, GDK_BUTTON_PRESS_MASK | GDK_BUTTON_RELEASE_MASK | GDK_ENTER_NOTIFY_MASK | GDK_LEAVE_NOTIFY_MASK | GDK_EXPOSURE_MASK); gtk_widget_show_all(toplevel); gdk_window_get_size(toplevel->window, &winwidth, &winheight); geom.min_width = geom.max_width = geom.base_width = winwidth; geom.min_height = geom.max_height = geom.base_height = winheight; geom.width_inc = geom.height_inc = 0; flags = GDK_HINT_MIN_SIZE | GDK_HINT_MAX_SIZE | GDK_HINT_BASE_SIZE | GDK_HINT_RESIZE_INC; gdk_window_set_geometry_hints(toplevel->window, &geom, flags); gdk_color_parse("white", &white); gdk_color_parse("black", &black); } static void gtk_ui_graphics_init(void) { offscreen = gdk_pixmap_new(field->window, screensize, screensize, -1); stdgc = gdk_gc_new(offscreen); gdk_gc_set_exposures(stdgc, FALSE); gdk_gc_set_line_attributes(stdgc, 2, GDK_LINE_SOLID, GDK_CAP_ROUND, GDK_JOIN_MITER); font = gdk_font_load("fixed"); } static GtkWidget * new_button(GtkWidget *dialog, const char *text, GtkSignalFunc func, GtkObject *obj) { GtkWidget *button = gtk_button_new_with_label(text); if (func != NULL) gtk_signal_connect_object(GTK_OBJECT(button), "clicked", func, obj); gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(gtk_widget_hide), GTK_OBJECT(dialog)); gtk_signal_connect_object(GTK_OBJECT(button), "clicked", GTK_SIGNAL_FUNC(popdown), NULL); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->action_area), button); gtk_widget_show(button); return button; } static void CreateDialog(int index, int hascancel, Picture *icon, const char *buttonlabel, GtkSignalFunc func) { GtkWidget *dialog, *pixmap, *label, *hbox; dialog = gtk_dialog_new(); gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); hbox = gtk_hbox_new(FALSE, 0); if (icon != NULL) { pixmap = gtk_pixmap_new(icon->pix, icon->mask); gtk_container_add(GTK_CONTAINER(hbox), pixmap); } label = gtk_label_new(UI_dialog_string(index)); gtk_container_add(GTK_CONTAINER(hbox), label); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), hbox); gtk_widget_show_all(hbox); if (buttonlabel == NULL) buttonlabel = "OK"; new_button(dialog, buttonlabel, func, NULL); if (hascancel) new_button(dialog, "Cancel", NULL, NULL); gtk_widget_realize(dialog); dialogs[index] = dialog; } static void CreateEnterText(int index, GtkSignalFunc func) { GtkWidget *dialog, *label, *entry; dialog = gtk_dialog_new(); gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); label = gtk_label_new(UI_dialog_string(index)); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label); gtk_widget_show(label); entry = gtk_entry_new_with_max_length(20); gtk_signal_connect_object(GTK_OBJECT(entry), "activate", func, GTK_OBJECT(entry)); gtk_signal_connect_object(GTK_OBJECT(entry), "activate", GTK_SIGNAL_FUNC(gtk_widget_hide), GTK_OBJECT(dialog)); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), entry); gtk_widget_show(entry); new_button(dialog, "OK", func, GTK_OBJECT(entry)); gtk_widget_realize(dialog); dialogs[index] = dialog; } static void CreatePixmapBox(int index, Picture *logo, Picture *pix) { GtkWidget *dialog, *pixmap, *label; const char *text = UI_dialog_string(index); dialog = gtk_dialog_new(); gtk_window_set_modal(GTK_WINDOW(dialog), TRUE); pixmap = gtk_pixmap_new(logo->pix, logo->mask); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), pixmap); gtk_widget_show(pixmap); if (pix != NULL) { pixmap = gtk_pixmap_new(pix->pix, pix->mask); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), pixmap); gtk_widget_show(pixmap); } if (text != NULL) { label = gtk_label_new(text); gtk_container_add(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox), label); gtk_widget_show(label); } new_button(dialog, "OK", NULL, NULL); gtk_widget_realize(dialog); dialogs[index] = dialog; } static void gtk_ui_create_dialogs(Picture *logo, Picture *icon, Picture *about) { CreateDialog(DIALOG_NEWGAME, 1, NULL, NULL, new_game); CreateDialog(DIALOG_PAUSEGAME, 0, icon, "Continue", NULL); CreateEnterText(DIALOG_WARPLEVEL, warp_apply); CreateDialog(DIALOG_HIGHSCORE, 0, NULL, NULL, NULL); CreateDialog(DIALOG_QUITGAME, 1, NULL, NULL, quit_game); CreatePixmapBox(DIALOG_STORY, logo, NULL); CreatePixmapBox(DIALOG_RULES, logo, NULL); CreatePixmapBox(DIALOG_ABOUT, logo, about); CreateDialog(DIALOG_SCORE, 0, NULL, NULL, NULL); CreateDialog(DIALOG_ENDGAME, 0, NULL, "Nuts!", NULL); CreateEnterText(DIALOG_ENTERNAME, enter_name); } static void set_label(GtkWidget *dialog, const char *str) { GList *list; GtkWidget *hbox = NULL; list = gtk_container_children(GTK_CONTAINER(GTK_DIALOG(dialog)->vbox)); while (list != NULL) { GtkWidget *w = (GtkWidget *) list->data; list = g_list_next(list); if (GTK_IS_HBOX(w)) { hbox = w; break; } } if (hbox == NULL) return; list = gtk_container_children(GTK_CONTAINER(hbox)); while (list != NULL) { GtkWidget *w = (GtkWidget *) list->data; list = g_list_next(list); if (GTK_IS_LABEL(w)) { gtk_label_set_text(GTK_LABEL(w), str); return; } } } static void gtk_ui_update_dialog(int index, const char *str) { set_label(dialogs[index], str); } static void gtk_ui_set_pausebutton(int active) { if (pausebutton != NULL) gtk_widget_set_sensitive(pausebutton, active); } static struct UI_methods gtk_methods = { gtk_ui_set_cursor, gtk_ui_load_cursor, gtk_ui_load_picture, gtk_ui_set_icon, gtk_ui_picture_width, gtk_ui_picture_height, gtk_ui_graphics_init, gtk_ui_clear_window, gtk_ui_refresh_window, gtk_ui_draw_image, gtk_ui_draw_line, gtk_ui_draw_string, gtk_ui_start_timer, gtk_ui_stop_timer, gtk_ui_timer_active, gtk_ui_popup_dialog, gtk_ui_main_loop, gtk_ui_initialize, gtk_ui_make_main_window, gtk_ui_create_dialogs, gtk_ui_set_pausebutton, gtk_ui_update_dialog, }; void gtk_ui_setmethods(UI_methods **methodsp) { *methodsp = >k_methods; } xbill-2.1/gtk.h0100644000076400007640000000014507363174040013631 0ustar bwellingbwelling#ifndef GTK_H #define GTK_H #include "UI.h" void gtk_ui_setmethods(UI_methods **methodsp); #endif xbill-2.1/install-sh0100755000076400007640000001273607363174040014710 0ustar bwellingbwelling#!/bin/sh # # install - install a program, script, or datafile # This comes from X11R5 (mit/util/scripts/install.sh). # # Copyright 1991 by the Massachusetts Institute of Technology # # Permission to use, copy, modify, distribute, and sell this software and its # documentation for any purpose is hereby granted without fee, provided that # the above copyright notice appear in all copies and that both that # copyright notice and this permission notice appear in supporting # documentation, and that the name of M.I.T. not be used in advertising or # publicity pertaining to distribution of the software without specific, # written prior permission. M.I.T. makes no representations about the # suitability of this software for any purpose. It is provided "as is" # without express or implied warranty. # # Calling this script install-sh is preferred over install.sh, to prevent # `make' implicit rules from creating a file called install from it # when there is no Makefile. # # This script is compatible with the BSD install script, but was written # from scratch. It can only install one file at a time, a restriction # shared with many OS's install programs. # set DOITPROG to echo to test this script # Don't use :- since 4.3BSD and earlier shells don't like it. doit="${DOITPROG-}" # put in absolute paths if you don't have them in your path; or use env. vars. mvprog="${MVPROG-mv}" cpprog="${CPPROG-cp}" chmodprog="${CHMODPROG-chmod}" chownprog="${CHOWNPROG-chown}" chgrpprog="${CHGRPPROG-chgrp}" stripprog="${STRIPPROG-strip}" rmprog="${RMPROG-rm}" mkdirprog="${MKDIRPROG-mkdir}" transformbasename="" transform_arg="" instcmd="$mvprog" chmodcmd="$chmodprog 0755" chowncmd="" chgrpcmd="" stripcmd="" rmcmd="$rmprog -f" mvcmd="$mvprog" src="" dst="" dir_arg="" while [ x"$1" != x ]; do case $1 in -c) instcmd="$cpprog" shift continue;; -d) dir_arg=true shift continue;; -m) chmodcmd="$chmodprog $2" shift shift continue;; -o) chowncmd="$chownprog $2" shift shift continue;; -g) chgrpcmd="$chgrpprog $2" shift shift continue;; -s) stripcmd="$stripprog" shift continue;; -t=*) transformarg=`echo $1 | sed 's/-t=//'` shift continue;; -b=*) transformbasename=`echo $1 | sed 's/-b=//'` shift continue;; *) if [ x"$src" = x ] then src=$1 else # this colon is to work around a 386BSD /bin/sh bug : dst=$1 fi shift continue;; esac done if [ x"$src" = x ] then echo "install: no input file specified" exit 1 else true fi if [ x"$dir_arg" != x ]; then dst=$src src="" if [ -d $dst ]; then instcmd=: chmodcmd="" else instcmd=mkdir fi else # Waiting for this to be detected by the "$instcmd $src $dsttmp" command # might cause directories to be created, which would be especially bad # if $src (and thus $dsttmp) contains '*'. if [ -f $src -o -d $src ] then true else echo "install: $src does not exist" exit 1 fi if [ x"$dst" = x ] then echo "install: no destination specified" exit 1 else true fi # If destination is a directory, append the input filename; if your system # does not like double slashes in filenames, you may need to add some logic if [ -d $dst ] then dst="$dst"/`basename $src` else true fi fi ## this sed command emulates the dirname command dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'` # Make sure that the destination directory exists. # this part is taken from Noah Friedman's mkinstalldirs script # Skip lots of stat calls in the usual case. if [ ! -d "$dstdir" ]; then defaultIFS=' ' IFS="${IFS-${defaultIFS}}" oIFS="${IFS}" # Some sh's can't handle IFS=/ for some reason. IFS='%' set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'` IFS="${oIFS}" pathcomp='' while [ $# -ne 0 ] ; do pathcomp="${pathcomp}${1}" shift if [ ! -d "${pathcomp}" ] ; then $mkdirprog "${pathcomp}" else true fi pathcomp="${pathcomp}/" done fi if [ x"$dir_arg" != x ] then $doit $instcmd $dst && if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi else # If we're going to rename the final executable, determine the name now. if [ x"$transformarg" = x ] then dstfile=`basename $dst` else dstfile=`basename $dst $transformbasename | sed $transformarg`$transformbasename fi # don't allow the sed command to completely eliminate the filename if [ x"$dstfile" = x ] then dstfile=`basename $dst` else true fi # Make a temp file name in the proper directory. dsttmp=$dstdir/#inst.$$# # Move or copy the file name to the temp name $doit $instcmd $src $dsttmp && trap "rm -f ${dsttmp}" 0 && # and set any options; do chmod last to preserve setuid bits # If any of these fail, we abort the whole thing. If we want to # ignore errors from any of these, just make sure not to ignore # errors from the above "$doit $instcmd $src $dsttmp" command. if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi && if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi && if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi && if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi && # Now rename the file to the real destination. $doit $rmcmd -f $dstdir/$dstfile && $doit $mvcmd $dsttmp $dstdir/$dstfile fi && exit 0 xbill-2.1/mkinstalldirs0100644000076400007640000000132607367103470015503 0ustar bwellingbwelling#! /bin/sh # mkinstalldirs --- make directory hierarchy # Author: Noah Friedman # Created: 1993-05-16 # Public domain # $Id: mkinstalldirs,v 1.1 2001/10/28 22:31:20 bwelling Exp $ errstatus=0 for file do set fnord `echo ":$file" | sed -ne 's/^:\//#/;s/^://;s/\// /g;s/^#/\//;p'` shift pathcomp= for d do pathcomp="$pathcomp$d" case "$pathcomp" in -* ) pathcomp=./$pathcomp ;; esac if test ! -d "$pathcomp"; then echo "mkdir $pathcomp" mkdir "$pathcomp" || lasterr=$? if test ! -d "$pathcomp"; then errstatus=$lasterr fi fi pathcomp="$pathcomp/" done done exit $errstatus # mkinstalldirs ends here xbill-2.1/scores0100644000076400007640000000050707363174040014116 0ustar bwellingbwellingbrian 10 2000 matias 9 1800 me 8 1600 me 7 1400 me 6 1200 me 5 1000 me 4 800 me 3 600 me 2 400 me 1 200 xbill-2.1/strings.h0100644000076400007640000000441107363174040014535 0ustar bwellingbwelling#ifndef STRINGS_H #define STRINGS_H /* * Dialog boxes */ #define newgame_dialog_str "New Game?" #define pause_dialog_str "Game paused. Press Continue to continue." #define warp_dialog_str "Warp to level?" #define quit_dialog_str "Quit Game?" #define story_dialog_str \ "The Story:\n\ \n\ Yet again, the fate of the world rests\n\ in your hands! An evil computer hacker,\n\ known only by his handle 'Bill', has\n\ created the ultimate computer virus. A\n\ virus so powerful that it has the power\n\ to transmute an ordinary computer into\n\ a toaster oven. (oooh!) 'Bill' has\n\ cloned himself into a billion-jillion\n\ micro-Bills. Their sole purpose is to\n\ deliver the nefarious virus, which has\n\ been cleverly diguised as a popular\n\ operating system.\n\ \n\ As System Administrator/Exterminator,\n\ your job is to keep Bill from succeeding\n\ at his task." #define rules_dialog_str \ "The Rules:\n\ \n\ xBill has been painstakingly designed and\n\ researched in order to make it as easy to use\n\ for the whole family as it is for little Sally.\n\ Years - nay - days of beta testing and \n\ consulting with the cheapest of human interface\n\ designers have resulted in a game that is easy\n\ to use, yet nothing at all like a Macintosh.\n\ \n\ I. Whack the Bills (click)\n\ II. Restart the computer (click)\n\ III. Pick up stolen OSes & return(drag)\n\ them to their respective computers\n\ IV. Drag the bucket to extinguish sparks\n\ V. Scoring is based on total uptime,\n\ with bonuses for killing Bills.\n\ \n\ As for the rest, you can probably figure\n\ it out. We did, so it can't be too hard." #define endgame_dialog_str \ "Module xBill has caused a segmentation fault\n\ at memory address 097E:F1A0. Core dumped.\n\ \n\ We apologize for the inconvenience." #define entername_dialog_str "You earned a high score.\nEnter your name:" /* * Menus */ #define newgame_menu_str "New Game" #define pause_menu_str "Pause Game" #define warp_menu_str "Warp to level..." #define highscore_menu_str "View High Scores" #define quit_menu_str "Quit Game" #define story_menu_str "Story of xBill" #define rules_menu_str "Rules" #define about_menu_str "About xBill" #define score_menu_str "Score" #define endgame_menu_str "End Game" #define entername_menu_str "Enter Name" #endif xbill-2.1/types.h0100644000076400007640000000034507363174040014212 0ustar bwellingbwelling#ifndef TYPES_H #define TYPES_H typedef struct Scorelist Scorelist; typedef struct Picture Picture; typedef struct MCursor MCursor; typedef struct Cable Cable; typedef struct Bill Bill; typedef struct Computer Computer; #endif xbill-2.1/util.c0100644000076400007640000000051207363174040014012 0ustar bwellingbwelling#include #include #include void fatal(const char *format, ...) { va_list args; va_start(args, format); vfprintf(stderr, format, args); va_end(args); fprintf(stderr, "\n"); exit(1); } void * xalloc(int size) { void *p = malloc(size); if (p == NULL) fatal("out of memory"); return p; } xbill-2.1/util.h0100644000076400007640000000064207367570513014034 0ustar bwellingbwelling#ifndef UTIL_H #define UTIL_H #include #ifdef RAND #undef RAND #endif #define RAND(lb, ub) (rand() % ((ub) - (lb) + 1) + (lb)) #ifdef MAX #undef MAX #endif #define MAX(x, y) ((x) > (y) ? (x) : (y)) #ifdef MIN #undef MIN #endif #define MIN(x, y) ((x) < (y) ? (x) : (y)) #ifdef UNUSED #undef UNUSED #endif #define UNUSED(x) (void)(x) void *xalloc(int size); void fatal(const char *format, ...); #endif xbill-2.1/x11-athena.c0100644000076400007640000002002107364507001014677 0ustar bwellingbwelling#include #include #include "x11.h" #include "x11-athena.h" #include #include #include #include #include #include #include #include #include "util.h" #include "Game.h" #include "UI.h" static Widget base, menubar, field; static Widget dialogs[DIALOG_MAX + 1]; static Widget pausebutton; static void x11_athena_popup_dialog(int index) { x11_popup(dialogs[index]); } static void popup(Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(w); UNUSED(call_data); x11_athena_popup_dialog((int)client_data); } static Widget new_menu_item(Widget pshell, int dialog) { Widget menu_item = XtCreateManagedWidget(UI_menu_string(dialog), smeBSBObjectClass, pshell, NULL, 0); XtAddCallback(menu_item, XtNcallback, popup, (void *) dialog); return menu_item; } static Widget CreateMenuBar(const char *name, Widget parent) { Widget menubar, pshell; Widget game_menu, info_menu; menubar = XtVaCreateManagedWidget(name, boxWidgetClass, parent, XtNborderWidth, 0, XtNorientation, XtEhorizontal, NULL); game_menu = XtCreateManagedWidget("Game", menuButtonWidgetClass, menubar, NULL, 0); pshell = XtCreatePopupShell("menu", simpleMenuWidgetClass, game_menu, NULL, 0); new_menu_item(pshell, DIALOG_NEWGAME); pausebutton = new_menu_item(pshell, DIALOG_PAUSEGAME); new_menu_item(pshell, DIALOG_WARPLEVEL); new_menu_item(pshell, DIALOG_HIGHSCORE); new_menu_item(pshell, DIALOG_QUITGAME); info_menu = XtCreateManagedWidget("Info", menuButtonWidgetClass, menubar, NULL, 0); pshell = XtCreatePopupShell("menu", simpleMenuWidgetClass, info_menu, NULL, 0); new_menu_item(pshell, DIALOG_STORY); new_menu_item(pshell, DIALOG_RULES); new_menu_item(pshell, DIALOG_ABOUT); return menubar; } static void close_window (Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(client_data); UNUSED(call_data); XtPopdown(XtParent(XtParent(w))); } static Widget CreateRowCol(const char *name, Widget parent) { return XtCreateManagedWidget(name, boxWidgetClass, parent, NULL, 0); } static void CreatePixmapBox(int index, Widget parent, Pixmap logo, Pixmap pixmap) { Widget base, pshell, button; const char *text = UI_dialog_string(index); pshell = XtCreatePopupShell(UI_menu_string(index), transientShellWidgetClass, parent, NULL, 0); base = CreateRowCol("", pshell); XtVaCreateManagedWidget("", labelWidgetClass, base, XtNbitmap, logo, XtNborderWidth, 0, NULL); if (pixmap) XtVaCreateManagedWidget("", labelWidgetClass, base, XtNbitmap, pixmap, XtNborderWidth, 0, NULL); if (text != NULL) XtVaCreateManagedWidget("", labelWidgetClass, base, XtNlabel, text, XtNborderWidth, 0, NULL); button = XtVaCreateManagedWidget("OK", commandWidgetClass, base, NULL); XtAddCallback(button, XtNcallback, close_window, NULL); dialogs[index] = base; } static void CreateEnterText(int index, Widget parent, XtCallbackProc callback) { Widget base, pshell, button, textfield; pshell = XtCreatePopupShell(UI_menu_string(index), transientShellWidgetClass, parent, NULL, 0); base = CreateRowCol("", pshell); XtVaCreateManagedWidget("", labelWidgetClass, base, XtNlabel, UI_dialog_string(index), XtNborderWidth, 0, NULL); textfield = XtVaCreateManagedWidget("", asciiTextWidgetClass, base, XtNeditType, XawtextEdit, XtNstring, "", XtNwidth, 200, NULL); button = XtVaCreateManagedWidget("OK", commandWidgetClass, base, NULL); XtAddCallback(button, XtNcallback, callback, textfield); XtAddCallback(button, XtNcallback, close_window, NULL); button = XtVaCreateManagedWidget("Cancel", commandWidgetClass, base, NULL); XtAddCallback(button, XtNcallback, close_window, NULL); dialogs[index] = base; } static void CreateDialog(int index, Widget parent, int hascancel, Pixmap icon, const char *buttonlabel, XtCallbackProc callback) { Widget base, pshell, button; const char *text = UI_dialog_string(index); char ttext[16]; pshell = XtCreatePopupShell(UI_menu_string(index), transientShellWidgetClass, parent, NULL, 0); base = CreateRowCol("base", pshell); if (icon) XtVaCreateManagedWidget("", labelWidgetClass, base, XtNbitmap, icon, XtNborderWidth, 0, NULL); if (text != NULL && strlen(text) < sizeof(ttext)) { sprintf(ttext, "%-*s", (int)sizeof(ttext) - 1, text); text = ttext; } XtVaCreateManagedWidget("label", labelWidgetClass, base, XtNlabel, text, XtNborderWidth, 0, NULL); if (!buttonlabel) buttonlabel="OK"; button = XtVaCreateManagedWidget(buttonlabel, commandWidgetClass, base, NULL); if (callback) XtAddCallback(button, XtNcallback, callback, NULL); XtAddCallback(button, XtNcallback, close_window, NULL); if (hascancel) { button = XtVaCreateManagedWidget("Cancel", commandWidgetClass, base, NULL); XtAddCallback(button, XtNcallback, close_window, NULL); } dialogs[index] = base; } static Widget CreateDrawingArea(const char *name, Widget parent, int width, int height) { return XtVaCreateManagedWidget(name, coreWidgetClass, parent, XtNwidth, width, XtNheight, height, NULL); } static void x11_athena_update_dialog(int index, const char *str) { WidgetList t; XtVaGetValues(dialogs[index], XtNchildren, &t, NULL); XtVaSetValues(t[0], XtNlabel, str, NULL); } static void x11_athena_make_main_window(int size) { x11_setup_resources(); base = XtVaCreateManagedWidget("base", boxWidgetClass, x11_toplevel(), XtNhSpace, 0, XtNvSpace, 0, NULL); menubar = CreateMenuBar("menubar", base); field = CreateDrawingArea("field", base, size, size); x11_setup(); x11_set_drawingarea(field, size); x11_add_event_handlers(field); } static void new_game(Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(w); UNUSED(client_data); UNUSED(call_data); Game_start(1); } static void quit_game(Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(w); UNUSED(client_data); UNUSED(call_data); Game_quit(); } static void warp_apply(Widget w, XtPointer client_data, XtPointer call_data) { char *str; char *endp; int newlevel; Widget text = (Widget) client_data; UNUSED(w); UNUSED(call_data); XtVaGetValues(text, XtNstring, &str, NULL); newlevel = strtol(str, &endp, 10); if (*endp != '\0') return; Game_warp_to_level(newlevel); } static void enter_name(Widget w, XtPointer client_data, XtPointer call_data) { char *str; Widget text = (Widget) client_data; UNUSED(w); UNUSED(call_data); XtVaGetValues(text, XtNstring, &str, NULL); Game_add_high_score(str); } static void x11_athena_create_dialogs(Picture *logo, Picture *icon, Picture *about) { CreateDialog(DIALOG_NEWGAME, base, 1, (Pixmap)NULL, NULL, new_game); CreateDialog(DIALOG_PAUSEGAME, base, 0, icon->pix, "Continue", NULL); CreateEnterText(DIALOG_WARPLEVEL, base, warp_apply); CreateDialog(DIALOG_HIGHSCORE, base, 0, (Pixmap)NULL, NULL, NULL); CreateDialog(DIALOG_QUITGAME, base, 1, (Pixmap)NULL, NULL, quit_game); CreatePixmapBox(DIALOG_STORY, base, logo->pix, (Pixmap)NULL); CreatePixmapBox(DIALOG_RULES, base, logo->pix, (Pixmap)NULL); CreatePixmapBox(DIALOG_ABOUT, base, logo->pix, about->pix); CreateDialog(DIALOG_SCORE, base, 0, (Pixmap)NULL, NULL, NULL); CreateDialog(DIALOG_ENDGAME, base, 0, (Pixmap)NULL, "Nuts!", NULL); CreateEnterText(DIALOG_ENTERNAME, base, enter_name); } static void x11_athena_set_pausebutton(int active) { if (pausebutton != NULL) XtSetSensitive(pausebutton, active); } static struct UI_methods x11_athena_methods = { x11_set_cursor, x11_load_cursor, x11_load_picture, x11_set_icon, x11_picture_width, x11_picture_height, x11_graphics_init, x11_clear_window, x11_refresh_window, x11_draw_image, x11_draw_line, x11_draw_string, x11_start_timer, x11_stop_timer, x11_timer_active, x11_athena_popup_dialog, x11_main_loop, x11_initialize, x11_athena_make_main_window, x11_athena_create_dialogs, x11_athena_set_pausebutton, x11_athena_update_dialog, }; void x11_athena_setmethods(UI_methods **methodsp) { *methodsp = &x11_athena_methods; } xbill-2.1/x11-athena.h0100644000076400007640000000016707363174040014717 0ustar bwellingbwelling#ifndef X11_ATHENA_H #define X11_ATHENA_H #include "UI.h" void x11_athena_setmethods(UI_methods **methodsp); #endif xbill-2.1/x11-motif.c0100644000076400007640000002004707364507001014565 0ustar bwellingbwelling#include #include #include "x11.h" #include "x11-motif.h" #include #include #include #include #include #include #include #include #include #include "util.h" #include "Game.h" #include "UI.h" static Widget base, menubar, field; static Widget dialogs[DIALOG_MAX + 1]; static Widget pausebutton; static void x11_motif_popup_dialog(int index) { x11_popup(dialogs[index]); } static void popup(Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(w); UNUSED(call_data); x11_motif_popup_dialog((int)client_data); } static Widget new_menu_item(Widget pulldown, int dialog) { Widget menu_item = XtCreateManagedWidget(UI_menu_string(dialog), xmPushButtonWidgetClass, pulldown, NULL, 0); XtAddCallback(menu_item, XmNactivateCallback, popup, (void *) dialog); return menu_item; } static Widget CreateMenuBar(const char *name, Widget parent) { Widget menubar, pulldown; Widget game_menu, info_menu; menubar = XmCreateMenuBar(parent, (char *)name, NULL, 0); XtManageChild(menubar); pulldown = XmCreatePulldownMenu(menubar, "menu", NULL, 0); game_menu = XtVaCreateManagedWidget("Game", xmCascadeButtonWidgetClass, menubar, XmNsubMenuId, pulldown, NULL); new_menu_item(pulldown, DIALOG_NEWGAME); pausebutton = new_menu_item(pulldown, DIALOG_PAUSEGAME); new_menu_item(pulldown, DIALOG_WARPLEVEL); new_menu_item(pulldown, DIALOG_HIGHSCORE); new_menu_item(pulldown, DIALOG_QUITGAME); pulldown = XmCreatePulldownMenu(menubar, "menu", NULL, 0); info_menu = XtVaCreateManagedWidget("Info", xmCascadeButtonWidgetClass, menubar, XmNsubMenuId, pulldown, NULL); new_menu_item(pulldown, DIALOG_STORY); new_menu_item(pulldown, DIALOG_RULES); new_menu_item(pulldown, DIALOG_ABOUT); return menubar; } static Widget CreateRowCol(const char *name, Widget parent) { return XtVaCreateManagedWidget(name, xmRowColumnWidgetClass, parent, XmNorientation, XmVERTICAL, NULL); } static void CreatePixmapBox(int index, Widget parent, Pixmap logo, Pixmap pixmap) { Arg wargs[2]; XmString mstr; Widget dialog, base; const char *text = UI_dialog_string(index); mstr = XmStringCreateLtoR("", XmSTRING_DEFAULT_CHARSET); XtSetArg(wargs[0], XmNdialogStyle, XmDIALOG_APPLICATION_MODAL); XtSetArg(wargs[1], XmNmessageString, mstr); dialog = XmCreateMessageDialog(parent, (char *)UI_menu_string(index), wargs, 2); base = CreateRowCol("", dialog); XtVaCreateManagedWidget("", xmLabelWidgetClass, base, XmNlabelType, XmPIXMAP, XmNlabelPixmap, logo, NULL); if (pixmap) XtVaCreateManagedWidget("", xmLabelWidgetClass, base, XmNlabelType, XmPIXMAP, XmNlabelPixmap, pixmap, NULL); if (text) { mstr = XmStringCreateLtoR((char *)text, XmSTRING_DEFAULT_CHARSET); XtVaCreateManagedWidget(text, xmLabelWidgetClass, base, XmNlabelString, mstr, NULL); XmStringFree(mstr); } XtUnmanageChild(XmMessageBoxGetChild(dialog, XmDIALOG_CANCEL_BUTTON)); XtUnmanageChild(XmMessageBoxGetChild(dialog, XmDIALOG_HELP_BUTTON)); dialogs[index] = dialog; } static void CreateEnterText(int index, Widget parent, XtCallbackProc callback) { Widget dialog; Arg wargs[2]; XmString mstr = XmStringCreateLtoR((char *) UI_dialog_string(index), XmSTRING_DEFAULT_CHARSET); XtSetArg(wargs[0], XmNdialogStyle, XmDIALOG_APPLICATION_MODAL); XtSetArg(wargs[1], XmNselectionLabelString, mstr); dialog = XmCreatePromptDialog(parent, (char *) UI_menu_string(index), wargs, 2); XtUnmanageChild(XmSelectionBoxGetChild(dialog, XmDIALOG_HELP_BUTTON)); XtUnmanageChild(XmSelectionBoxGetChild(dialog, XmDIALOG_APPLY_BUTTON)); XtAddCallback(dialog, XmNokCallback, callback, XmSelectionBoxGetChild(dialog, XmDIALOG_TEXT)); dialogs[index] = dialog; } static void CreateDialog(int index, Widget parent, int hascancel, Pixmap icon, const char *buttonlabel, XtCallbackProc callback) { Widget dialog; Arg wargs[2]; XmString mstr = XmStringCreateLtoR((char *) UI_dialog_string(index), XmSTRING_DEFAULT_CHARSET); XtSetArg(wargs[0], XmNdialogStyle, XmDIALOG_APPLICATION_MODAL); XtSetArg(wargs[1], XmNmessageString, mstr); dialog = XmCreateMessageDialog(parent, (char *) UI_menu_string(index), wargs, 2); if (icon != (Pixmap) NULL) XtVaSetValues(dialog, XmNsymbolPixmap, icon, NULL); XmStringFree(mstr); if (!hascancel) XtUnmanageChild(XmMessageBoxGetChild(dialog, XmDIALOG_CANCEL_BUTTON)); XtUnmanageChild(XmMessageBoxGetChild(dialog, XmDIALOG_HELP_BUTTON)); if (buttonlabel != NULL) { mstr = XmStringCreateLtoR((char *) buttonlabel, XmSTRING_DEFAULT_CHARSET); XtVaSetValues(XmMessageBoxGetChild(dialog, XmDIALOG_OK_BUTTON), XmNlabelString, mstr, NULL); XmStringFree(mstr); } if (callback != NULL) XtAddCallback(dialog, XmNokCallback, callback, NULL); dialogs[index] = dialog; } static Widget CreateDrawingArea(const char *name, Widget parent, int width, int height) { return XtVaCreateManagedWidget(name, xmDrawingAreaWidgetClass, parent, XtNwidth, width, XtNheight, height, XmNresizePolicy, FALSE, NULL); } static void x11_motif_update_dialog(int index, const char *str) { XmString mstr = XmStringCreateLtoR((char *) str, XmSTRING_DEFAULT_CHARSET); XtVaSetValues( XmMessageBoxGetChild(dialogs[index], XmDIALOG_MESSAGE_LABEL), XmNlabelString, mstr, NULL); XmStringFree(mstr); } static void x11_motif_make_main_window(int size) { x11_setup_resources(); base = CreateRowCol("base", x11_toplevel()); menubar = CreateMenuBar("menubar", base); field = CreateDrawingArea("field", base, size, size); x11_setup(); x11_set_drawingarea(field, size); x11_add_event_handlers(field); } static void new_game(Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(w); UNUSED(client_data); UNUSED(call_data); Game_start(1); } static void quit_game(Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(w); UNUSED(client_data); UNUSED(call_data); Game_quit(); } static void warp_apply(Widget w, XtPointer client_data, XtPointer call_data) { char *str; char *endp; int newlevel; Widget text = (Widget) client_data; UNUSED(w); UNUSED(call_data); str = XmTextGetString(text); newlevel = strtol(str, &endp, 10); if (*endp != '\0') return; XtFree(str); Game_warp_to_level(newlevel); } static void enter_name(Widget w, XtPointer client_data, XtPointer call_data) { char *str; Widget text = (Widget) client_data; UNUSED(w); UNUSED(call_data); str = XmTextGetString(text); Game_add_high_score(str); XtFree(str); } static void x11_motif_create_dialogs(Picture *logo, Picture *icon, Picture *about) { CreateDialog(DIALOG_NEWGAME, base, 1, (Pixmap)NULL, NULL, new_game); CreateDialog(DIALOG_PAUSEGAME, base, 0, icon->pix, "Continue", NULL); CreateEnterText(DIALOG_WARPLEVEL, base, warp_apply); CreateDialog(DIALOG_HIGHSCORE, base, 0, (Pixmap)NULL, NULL, NULL); CreateDialog(DIALOG_QUITGAME, base, 1, (Pixmap)NULL, NULL, quit_game); CreatePixmapBox(DIALOG_STORY, base, logo->pix, (Pixmap)NULL); CreatePixmapBox(DIALOG_RULES, base, logo->pix, (Pixmap)NULL); CreatePixmapBox(DIALOG_ABOUT, base, logo->pix, about->pix); CreateDialog(DIALOG_SCORE, base, 0, (Pixmap)NULL, NULL, NULL); CreateDialog(DIALOG_ENDGAME, base, 0, (Pixmap)NULL, "Nuts!", NULL); CreateEnterText(DIALOG_ENTERNAME, base, enter_name); } static void x11_motif_set_pausebutton(int active) { if (pausebutton != NULL) XtSetSensitive(pausebutton, active); } static struct UI_methods x11_motif_methods = { x11_set_cursor, x11_load_cursor, x11_load_picture, x11_set_icon, x11_picture_width, x11_picture_height, x11_graphics_init, x11_clear_window, x11_refresh_window, x11_draw_image, x11_draw_line, x11_draw_string, x11_start_timer, x11_stop_timer, x11_timer_active, x11_motif_popup_dialog, x11_main_loop, x11_initialize, x11_motif_make_main_window, x11_motif_create_dialogs, x11_motif_set_pausebutton, x11_motif_update_dialog, }; void x11_motif_setmethods(UI_methods **methodsp) { *methodsp = &x11_motif_methods; } xbill-2.1/x11-motif.h0100644000076400007640000000016407363174040014572 0ustar bwellingbwelling#ifndef X11_MOTIF_H #define X11_MOTIF_H #include "UI.h" void x11_motif_setmethods(UI_methods **methodsp); #endif xbill-2.1/x11.c0100644000076400007640000002043007367075172013461 0ustar bwellingbwelling#include #include #include #include #include "x11.h" #include "util.h" #include "Game.h" #include "UI.h" static int in_popup; static const char *pictdir; static Display *display; static XtAppContext app; static Drawable window, rootwindow; static Colormap colormap; static int depth; static XColor white, black; static Pixmap offscreen; static XtIntervalId timer; static GC stdgc, whitegc; static int screensize; static Widget toplevel, field; /* * Callback functions */ static void popdown(Widget w, XtPointer client_data, XtPointer call_data) { UNUSED(w); UNUSED(client_data); UNUSED(call_data); in_popup = 0; } void x11_popup(Widget dialog) { Window temp; int tx, ty; XWindowAttributes tattr, pattr; int px, py; XtRealizeWidget(XtParent(dialog)); XtSetMappedWhenManaged(XtParent(dialog), FALSE); XtManageChild(dialog); in_popup = 1; XTranslateCoordinates(display, XtWindow(toplevel), rootwindow, 0, 0, &tx, &ty, &temp); XGetWindowAttributes(display, XtWindow(toplevel), &tattr); XGetWindowAttributes(display, XtWindow(dialog), &pattr); px = tx + (tattr.width - pattr.width) / 2; py = ty + (tattr.height - pattr.height) / 2; XtVaSetValues(XtParent(dialog), XtNx, px, XtNy, py, NULL); XtAddCallback(XtParent(dialog), XtNpopdownCallback, (XtCallbackProc) popdown, NULL); XtPopup(XtParent(dialog), XtGrabExclusive); while (in_popup || XtAppPending(app)) XtAppProcessEvent(app, XtIMXEvent); } /* * Event handlers */ static void leave_window(Widget w, XtPointer client_data, XEvent *event, Boolean *b) { UNUSED(w); UNUSED(client_data); UNUSED(event); UNUSED(b); UI_pause_game(); } static void enter_window(Widget w, XtPointer client_data, XEvent *event, Boolean *b) { UNUSED(w); UNUSED(client_data); UNUSED(event); UNUSED(b); UI_resume_game(); } static void redraw_window(Widget w, XtPointer client_data, XEvent *event, Boolean *b) { UNUSED(w); UNUSED(client_data); UNUSED(event); UNUSED(b); UI_refresh(); } static void button_press(Widget w, XtPointer data, XEvent *event, Boolean *b) { XButtonEvent *buttonevent = (XButtonEvent *) event; UNUSED(w); UNUSED(data); UNUSED(b); Game_button_press(buttonevent->x, buttonevent->y); } static void button_release(Widget w, XtPointer data, XEvent *event, Boolean *b) { XButtonEvent *buttonevent = (XButtonEvent *) event; UNUSED(w); UNUSED(data); UNUSED(b); Game_button_release(buttonevent->x, buttonevent->y); } static void timer_tick(XtPointer client_data, XtIntervalId *timer_id) { UNUSED(client_data); UNUSED(timer_id); UI_restart_timer(); Game_update(); } /* * Cursor handling */ void x11_set_cursor(MCursor *cursor) { XDefineCursor(display, window, cursor->cursor); } void x11_load_cursor(const char *name, int masked, MCursor **cursorp) { MCursor *cursor; Pixmap bitmap, mask; int i, xh, yh; unsigned width, height; char file[255]; cursor = xalloc(sizeof *cursor); sprintf(file, "%s/bitmaps/%s.xbm", pictdir, name); i = XReadBitmapFile(display, rootwindow, file, &width, &height, &bitmap, &xh, &yh); if (i == BitmapOpenFailed) fatal("cannot open %s", file); if (masked == CURSOR_SEP_MASK) { sprintf(file, "%s/bitmaps/%s_mask.xbm", pictdir, name); i = XReadBitmapFile(display, rootwindow, file, &width, &height, &mask, &xh, &yh); if (i == BitmapOpenFailed) fatal("cannot open %s", file); } else mask = bitmap; cursor->cursor = XCreatePixmapCursor(display, bitmap, mask, &black, &white, width/2, height/2); *cursorp = cursor; } /* * Pixmap handling */ void x11_load_picture(const char *name, int trans, Picture **pictp) { Picture *pict; int i; char file[255]; XpmColorSymbol symbol; Pixmap mask; XpmAttributes attr; unsigned long gcmask; XGCValues gcval; pict = xalloc(sizeof *pict); gcmask = GCForeground | GCBackground | GCGraphicsExposures; gcval.graphics_exposures = False; attr.valuemask = XpmCloseness | XpmReturnPixels | XpmColormap | XpmDepth; attr.closeness = 65535; attr.colormap = colormap; attr.depth = depth; if (!trans) { symbol.name = NULL; symbol.value = "none"; XtVaGetValues(field, XtNbackground, &symbol.pixel, NULL); attr.colorsymbols = &symbol; attr.numsymbols = 1; attr.valuemask |= XpmColorSymbols; } sprintf(file, "%s/pixmaps/%s.xpm", pictdir, name); i = XpmReadFileToPixmap(display, rootwindow, file, &pict->pix, &mask, &attr); if (i < 0) fatal("cannot open %s", file); pict->mask = mask; pict->gc = XCreateGC(display, offscreen, gcmask, &gcval); if (trans) XSetClipMask(display, pict->gc, mask); pict->width = attr.width; pict->height = attr.height; *pictp = pict; } void x11_set_icon(Picture *icon) { XtVaSetValues(toplevel, XtNiconPixmap, icon->pix, XtNiconMask, icon->mask, NULL); } int x11_picture_width(Picture *pict) { return (pict->width); } int x11_picture_height(Picture *pict) { return (pict->height); } /* * Graphics operations */ void x11_graphics_init() { XGCValues gcval; unsigned long gcmask; gcmask = GCGraphicsExposures; gcval.graphics_exposures = False; stdgc = XCreateGC(display, window, gcmask, &gcval); XSetLineAttributes(display, stdgc, 2, LineSolid, CapRound, JoinMiter); XSetBackground(display, stdgc, white.pixel); XSetForeground(display, stdgc, black.pixel); whitegc = XCreateGC(display, window, gcmask, &gcval); XSetBackground(display, whitegc, white.pixel); XSetForeground(display, whitegc, white.pixel); offscreen = XCreatePixmap(display, rootwindow, screensize, screensize, depth); } void x11_clear_window() { XFillRectangle(display, offscreen, whitegc, 0, 0, screensize, screensize); } void x11_refresh_window() { XCopyArea(display, offscreen, window, stdgc, 0, 0, screensize, screensize, 0, 0); } void x11_draw_image(Picture *pict, int x, int y) { XSetClipOrigin(display, pict->gc, x, y); XCopyArea(display, pict->pix, offscreen, pict->gc, 0, 0, pict->width, pict->height, x, y); } void x11_draw_line(int x1, int y1, int x2, int y2) { XDrawLine(display, offscreen, stdgc, x1, y1, x2, y2); } void x11_draw_string(const char *str, int x, int y) { XDrawString(display, offscreen, stdgc, x, y, str, strlen(str)); } /* * Timer operations */ void x11_start_timer(int ms) { timer = XtAppAddTimeOut(app, ms, timer_tick, NULL); } void x11_stop_timer() { if (!timer) return; XtRemoveTimeOut(timer); timer = (XtIntervalId) 0; } int x11_timer_active() { return (!!timer); } /* * Main Loop */ void x11_main_loop() { XtAppMainLoop(app); } /* * Initialization */ void x11_initialize(int *argc, char **argv) { struct stat stats; timer = (XtIntervalId) 0; toplevel = XtAppInitialize(&app, "XBill", NULL, 0, argc, argv, NULL, NULL, 0); display = XtDisplay(toplevel); if (stat(IMAGES, &stats) == 0) pictdir = IMAGES; else pictdir = "."; } void x11_setup_resources() { XrmDatabase database; database = XrmGetDatabase(display); XrmPutStringResource(&database, "*background", "#c4c4c4"); XrmPutStringResource(&database, "*foreground", "#000000"); XrmSetDatabase(display, database); } void x11_setup() { Screen *screen; XSizeHints h; Dimension winwidth, winheight; XtRealizeWidget(toplevel); screen = XtScreen(toplevel); depth = DefaultDepthOfScreen(screen); rootwindow = RootWindowOfScreen(screen); colormap = DefaultColormapOfScreen(screen); white.pixel = WhitePixelOfScreen(screen); XQueryColor(display, colormap, &white); black.pixel = BlackPixelOfScreen(screen); XQueryColor(display, colormap, &black); XtVaGetValues(toplevel, XtNwidth, &winwidth, XtNheight, &winheight, NULL); h.width = h.base_width = h.min_width = h.max_width = winwidth; h.height = h.base_height = h.min_height = h.max_height = winheight; h.width_inc = h.height_inc = 0; h.flags = PSize|PMaxSize|PMinSize|PBaseSize|PResizeInc; XSetWMNormalHints(display, XtWindow(toplevel), &h); } void x11_add_event_handlers(Widget w) { XtAddEventHandler(w, ButtonPressMask, FALSE, button_press, NULL); XtAddEventHandler(w, ButtonReleaseMask, FALSE, button_release, NULL); XtAddEventHandler(w, LeaveWindowMask, FALSE, leave_window, NULL); XtAddEventHandler(w, EnterWindowMask, FALSE, enter_window, NULL); XtAddEventHandler(w, ExposureMask, FALSE, redraw_window, NULL); } Widget x11_toplevel() { return toplevel; } void x11_set_drawingarea(Widget w, int size) { field = w; window = XtWindow(w); screensize = size; } xbill-2.1/x11.h0100644000076400007640000000256407367570513013475 0ustar bwellingbwelling#ifndef X11_WIDGETS_H #define X11_WIDGETS_H #include #include #include #include #include #include #include #ifdef VMS #include #include #endif #include "types.h" struct MCursor { Pixmap cursor; }; struct Picture { Dimension width, height; Pixmap pix; Pixmap mask; GC gc; }; void x11_set_cursor(MCursor *cursor); void x11_load_cursor(const char *name, int masked, MCursor **cursorp); void x11_load_picture(const char *name, int trans, Picture **pictp); void x11_set_icon(Picture *icon); int x11_picture_width(Picture *pict); int x11_picture_height(Picture *pict); void x11_graphics_init(void); void x11_clear_window(void); void x11_refresh_window(void); void x11_draw_image(Picture *pict, int x, int y); void x11_draw_line(int x1, int y1, int x2, int y2); void x11_draw_string(const char *str, int x, int y); void x11_start_timer(int ms); void x11_stop_timer(void); int x11_timer_active(void); void x11_main_loop(void); void x11_initialize(int *argc, char **argv); void x11_create_dialogs(Picture *logo, Picture *icon, Picture *about); void x11_setup_resources(void); void x11_setup(void); void x11_add_event_handlers(Widget w); void x11_popup (Widget dialog); Widget x11_toplevel(void); void x11_set_drawingarea(Widget w, int size); #endif xbill-2.1/xbill.60100644000076400007640000000544507367101546014111 0ustar bwellingbwelling.\" This man page originally written by pema@niksula.hut.fi .\" It's currently maintained by bwelling@xbill.org .TH "xbill" "6" "October 2001" "Version 2.1" .SH NAME xbill \- save your computers from Wingdows [TM] virus .SH SYNOPSIS .sp .B xbill [-l\fI level\fP] [--gui \fIgui\fP] [--size\fIsize\fP] [-v] [-h] .SH DESCRIPTION .PP Ever get the feeling that nothing is going right? You're a sysadmin, and someone's trying to destroy your computers. The little people running around the screen are trying to infect your computers with Wingdows [TM], a virus cleverly designed to resemble a popular operating system. Your objective is to click the mouse on them, ending their potential threat. If one of the people reaches a computer, it will attempt to replace your operating system with the virus it carries. It will then attempt to run off the screen with your vital software. The game ends when only 1 (or 0) of your computers are being productive. Additionally, some computers are connected with network cables. When one computer on a network becomes infected, a spark will be sent down the cable, and will infect the computer on the other end when it reaches there. .PP Clicking the button on one of the little people will cause it to cry out in pain and melt (id software eat your heart out!), dropping the stolen os if it is carrying one. If a computer is running Wingdows or is temporarily off, the os can be dragged back to the computer (or another computer compatible with that os). To extinguish a spark, drag the bucket of water from the upper left corner onto it. .PP The status bar at the bottom tells the following: .br Number of Bills on/off the screen .br Number of Computers running their OS/off/Wingdows .br Level .br Score .SH OPTIONS .TP .B \-l\fI n\fP Start at level \fIn\fP. .TP .B \--gui\fI gui Use a specific front end. The possible values are \fIgtk\fP, \fImotif\fP, and \fIathena\fP. Note that some of these may not be compiled into the binary. .TP .B \--size\fI size\fP Play on a field of \fIsize\fP x \fIsize\fP, instead of the normal 400x400. \fIsize\fP must be larger than 400. .TP .B \-v Print version number and exit. .TP .B \-h Print help and exit. .PP When using the GTK gui, all standard GTK options are supported. When using the Athena or Motif GUI, all standard X Intrinsics options are supported. .SH AUTHORS Main Programmer: .br Brian Wellington .br Programming & graphics (v2.0 and earlier): .br Matias Duarte .br .SH COPYING Copyright (c) 1994-2001 Psychosoft .PP It's FREE! If you want to express your undying gratitude to us for bringing a small bit of meaning into your otherwise pointless existence, you could always send us e-mail. XBill is distributed under the GNU General Public License. .PP Go play the game now! xbill-2.1/xbill.gif0100644000076400007640000000210007363174040014465 0ustar bwellingbwellingGIF89a66ôHˆp°08`@°èP0Pÿÿÿ`@`h°èˆ p¨ÈàØ°PظXððØðøøøøøøø!ù,66þ !Ždižhª®lë–P,Ïtmß8Mæ<(Dï¶ã!‚d2¨P:áR”!ŸO„CáèvƒGòšV!q:º³¹Þ­#F¬É¼jÒývk¹ ƒ vnwb?M8zkimŠr • ?|nps6Ev W‡o]• —™ šžqM:#1vGZvJr1–˜°Ç  Ìlº¨H5E{ÀJ¶ZºÅ¯ÈÉ ššpƒi¢»"1t[N“ ­ÆÝ° °Ìî_ˆçéjغ@¸äJÞ1zÈ@ðâÉ\ jAü òò® Áyߎ êbŠC*¼ÐìQÅ·‹þAHÐ¥ÖGjW²yùa±€›¼{£eÃ0‘ÄA5Μ°Ìr¼h?eÀüC‘(¥2rbÍš’ÁÀHQ†ðgÜ–&¶BÐZc@Z¸«¥èØIr¸(Q»–/„p Aª° Ñ¡ôEŽ˜øÞl+äÀDÕ•’ñY.n6I^Kc@€ƒÜ1ËŒ¸ˆÙA| ôÍH-;²Ä…9ÑËeõÆnP{2ñGÿÒ“±)€Ö›Å*ŽÂøJèM<( øx ¨s/ üóGv§™0¶öí¸ÏÞD×îòæ{Kã¬X¹=#…öžlÞe—ƒ4þ‡Ÿs˜‰‘^?h…un ð|ÄmÂSÄÕƒÙ‚¬ñ`:XP¨†…Ûm§!O  ’¡ fæ#ŠôD{jÝŽÚéF\„sy²`¿õW¢‰Hð˜Ä¼sŒå9€ÒAXÎc¸§â%?×EyšõÖ„\üYy%6£]TBL/ àfAÔø–‰x‰BßB€irò¡E"–™"7hàJoÒ@€*!*Rމ®‘]Ÿ?òÀi1®1 •‰™‰(šk6™õ—YŒ„z€¾%ªJŸžjé‡ Nô%­Ùº%=]ø)d¼âWßÎYš&× ÛåØÀm©3(KV'þYú$´dMòŽ%Î`™3HD@vÔØ„KÂxAL«I`W€i9–D¬cÔxV§z6/vI¸&˜ìˆ¡þf ízqà&K™]“mª¦¬ƒUÌX±0 pÔÐÇWÜÄ”ð¡ÀÖe«lÈÿ9&¦2Ó"+/ÅÊpÏ Nèu¥öR] MˆEÊH!EH6 /]a*2MH8„Å/Z#J×Eƒu*¤‚ýÂÙh§­öÚ%„;xbill-2.1/xbill.spec0100644000076400007640000000451107367123052014663 0ustar bwellingbwellingSummary: Stop Bill from loading his OS into all the computers. Name: xbill Version: 2.1 Release: 1 Copyright: GPL Group: Amusements/Games Source: ftp://ftp.xbill.org/pub/xbill/%{name}-%{version}.tar.gz BuildRoot: %{_tmppath}/%{name}-root %description The xbill game tests your reflexes as you seek out and destroy all forms of Bill, establish a new operating system throughout the universe, and boldly go where no geek has gone before. Xbill has become an increasingly attractive option as the Linux Age progresses, and it is very popular at Red Hat. %prep %setup -q %build ./configure --prefix=/usr --localstatedir=/var/lib/games --disable-motif make %install rm -rf $RPM_BUILD_ROOT make DESTDIR=$RPM_BUILD_ROOT install ( cd $RPM_BUILD_ROOT mkdir -p ./etc/X11/applnk/Games cat > ./etc/X11/applnk/Games/xbill.desktop < - Updated to 2.1 * Sun Jun 24 2001 Elliot Lee - Bump release + rebuild. * Fri Apr 27 2001 Bill Nottingham - rebuild for C++ exception handling on ia64 * Wed Oct 18 2000 Than Ngo - rebuilt against gcc-2.96-60 * Tue Jul 18 2000 Than Ngo - rebuilt with gcc-2.96-4.0 * Thu Jul 13 2000 Prospector - automatic rebuild * Tue Jul 2 2000 Jakub Jelinek - Rebuild with new C++ * Sun Jun 18 2000 Than Ngo - rebuilt in the new build environment - use RPM maccros * Mon May 08 2000 Preston Brown - fix for gcc 2.95 from t-matsuu@protein.osaka-u.ac.jp. * Mon Feb 07 2000 Preston Brown - rebuild with config(noreplace) score file, new description - replace wmconfig with desktop file * Sun Mar 21 1999 Cristian Gafton - auto rebuild in the new build environment (release 6) * Thu Dec 17 1998 Michael Maher - built pacakge for 6.0 * Fri May 01 1998 Prospector System - translations modified for de, fr, tr * Fri Aug 22 1997 Erik Troan - built against glibc xbill-2.1/pixmaps/0040755000076400007640000000000007375137016014364 5ustar bwellingbwellingxbill-2.1/pixmaps/about.xpm0100644000076400007640000012405407363174040016222 0ustar bwellingbwelling/* XPM */ static char* about_xpm[] = { "300 140 20 1", "_ c #ffffff", "` c #d63110", "a c #523108", "b c #fffff7", "c c #dedebd", "d c #008442", "e c #000808", "f c #4ab5ef", "g c #183142", "h c #4a8cbd", "i c #102131", "j c #294a6b", "k c #5a84ce", "l c #638cde", "m c #315294", "n c #5273bd", "o c None", "p c #18085a", "q c #5a395a", "r c #000000", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooommmmmohmmmhommmhooooooooooooooooooooooooooooooooooomgoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomrmooomrhooojmoooooooooooooooooooooooooooooooooooojjoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomrhooogrooohjooooooojoooooooooooooooooooooooooooooimoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomrooomjrooojhoooooohjoooooooooooooooooooooooooooooeooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomrooojmioohjooooooooooomjoooehooooooooooooooooooomiooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomroojhjioojhoohohooohooimoomioooohhoohooohooooooomgohooohooohooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomrohjojiohmoogjmrmmemomrjmhiijhomirhmemojrmoooooogmmegomehomeooooooomooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomrojhojiojoojgjjhhmeooheooojmoomjoghmehjhihooooooighmeomgjohioooooomrhoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojrhmoojimmomhggooomioomgoooimooimjhohejooeoooooohrhooehhmioojooooooomooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojrjooojijooooemooojjoojjoooroohemooomgoomgoooooomioohgoooihhjooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojrmooojrhooooeoooogmoogmoomioomjoooojjoojmoooooojjoojhooojmmhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojioooogjoooomgooooimhoimmomjjhjjhmhoimooimmooooomgommoooommjooooooomoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojhooooghoooojjooooimoormoojihomejhoorooorjoooooohijmooooomehoooooomrhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohooooohooooooooooooooohooohooooooooooooohoooooooooooooooomjoooooooomoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqaaaaaaqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojhoooooooooooooooooooooooooooooooooooooooooooooooqqqrrrrrrqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohoojmoooooooooooooooooooooooooooooooooooooooooooooooqrrrrrqrrrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooogiihoooooooooooooooooooooooooooooooooooooooooooooooqrrrrrqrrrrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaaaqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohmoooooooooooooooooooooooooooooooooooooooooooooooooqrrrrrrrrrrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaaqaqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrrqrrrrrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqaaaaaaaaaaaaaaaaaqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrrqqrrrrrrrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaaaaaqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrqq_cqrrrrrrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaaaaaaqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrq_c_cqrrrrrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaaaaaaqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrq_c_c_cqrrrrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaaaaaaqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrqc_c_c_cqqrrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqaaaaaaaaaaaaaaaaaaaqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqq_q_c_q_c_qrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqarrrraaarrrrrrrrraqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqcqqbcqq_cqrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor____rrr____rcbcqqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq_cbc_c_c_cqaaoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor____rbr____r_cbqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqbcbc_c_cbqrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooor____rbr____rcqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqcqcbcbcbcqrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrrrbc_rrrrcbqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqbcqcbcqcbqrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqcbcbc_c_cbqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqbcbcqcrqqqrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqbcqcbcbcbqbqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqrqbcqcrrqrrqrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqcbcqcbcbqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqrrqqqrrqrrrrqrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqbbcbcbqddddqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrqrqrrqqrrqrrqrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqjjjqqqqqqjjjjjjqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrqqrrqrrrqrrqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqdddddddddddddddqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrqrrqrqrrrrqrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqjjjjjjjjjjjjqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrqrrqrqrrrqrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqddddddddddq_c_qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrqrrqrqrrrqrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq_qjjjjjjjjjjqc_qqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrqrrqrqrrqrrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqcqddddddddddq_cqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrrrqqqrrrqrrrqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq_qjjjjjjjjjjqc_qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrqrrqoqrqrrqrqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqcqddddddddddq_qqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrqoqrrqrrqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqjjjjjjjjjjqcqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrqoqrrrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrqoqrrrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq````````qoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrqqqrrrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq```q```qqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrqrqrrrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqrrqrqrrrqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqc_q_cqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqrqqqqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrqrrrqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooq____q____qooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqrrrqrrrrqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqqooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooqqqqqqqqqqoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohhooohoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohmemhmijoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooomjigjjmoooooooooooooooooooooooooooooooooohjigmohmggmoomjjhooooeooogmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohjgjhoooooojijmooooooooooooooooooooooooooooooooomjgigjjjmoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooejohijoooooooooomoooooooooooooooooooooooorjoooheiooooghooooheoooihoohhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomrjooooomrgooooooooooooooohhoooooooooooooooooooomrjoohjimoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooormoomeooooooooooioooooooooooooooooooooooormooojiiooommooooomgooheooojmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomegooooogrmoooooooooooooooghoooooooooooooooooooomrmoooomrmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooomrmoomeooooooooohmoooooooooooooooooooooooormoohjigooojoooooojjoomgooomhoooooooooooooooohhooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojgeoooomjrmoooooooooomhooojooooooooooooooooooooojeoooooogehoooooooooooooooooooooooomhoooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooojeooojjooooooooooooooooooooooooooooooooooormoojhijoommooooooimoojjooooooooooooooooooooogmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojmrhooojmrhooooooooooehoooooooooooooooooooooooooigoooooomrmooooooooooooooooooooooooehoooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooogimmjmoooojomgohjhooomgimoommohjmooooooooormommoejoojoomgmooroooimoommoomjoomjooomgmoomrmhohjghoohjoomjooooooooooooooooooooooooooooooooooooooooooooooooooooooooojormoommjrooooomgiohjemhojmooohjijoohjimoooooooorjooooooorgomgooommooohjijooojomghjemhohgjooooooooooooooooooooooooooooooo", "oooooooooooooooooooegmjemooojrhgghjeooojmmrhojgmmjemooooooooormojoorjojhojmjgomioooeoomijomjghjigoommmehojemhhjmgiomjeojgeooooooooooooooooooooooooooooooooooooooooooooooooooooooooojoijoojojeooohjmjiohggmhjemoomjmimoogmjhooooooomrmooooooorimgeoohrooomjmimoojrhgghggmhhgmehoooooooooooooooooooooooooooooo", "oooooooooooooooooohrmoomrmojhijoommioommomeohhgmmoimoooooooomrmmmoorjhjohgogmojjoomioomimohjjjojjohgooimomgoojhooehhmgjhmioooooooooooooooooooooooooooooooooooooooooooooooooooooooommogiommoiiooojhojgoogmohhroohjoorhomgoooooooooomrooooooohrjmmgoojioohjoorhojhijooogmooghmgooooooooooooooooooooooooooooooo", "oooooooooooooooooomeoooogehhmehooojjoogoojgoooejoorhoooooooomrmjooorjjoojgjhoogmoomjoooroooggooimojjooeoojjooioooimojehojjoooooooooooooooooooooooooooooooooooooooooooooooooooooooojhomrogooijoohjoogjooimoomiooghomeoooejooooooooogiooooooomrjojjomjgooghomeohhmehoooimohejmoooooooooooooooooooooooooooooooo", "oooooooooooooooooojgoooojroojgooooimomjooejoohioohrooooooooomrihooorgmooimooooehoogmoomioooehooimojjohgooimomioooioogmoojjoooooooooooooooooooooooooooooooooooooooooooooooooooooooogoomrgmoorjoojmohrmoorooojjohioogiooomemooooooooigoooooooieooimhjjmohioogiooojgooooroomghooooooooooooooooooooooooooooooooo", "ooooooooooooooooooijooooggoogmooooeoojmojimoomgoomiooooooooomrjoooorioooioooooeohoimohjjooheoooroohimghooeoomeoohgooehooimoooooooooooooooooooooooooooooooooooooooooooooooooooooooogoooriooorjooihhjroomiooogmomgomgjoooomjooooooohrjoooooojrmoorhjhimhmgomgjooogmooomioojmoooooooooooooooooooooooooooooooooo", "ooooooooooooooooohrmooomemooimooohimhimjhemmogjoomgmoooooooomehoooormoomiohmomimmoemjhjmmomgoohemhojjhoohimmoemojhoheoooimmoooooooooooooooooooooooooooooooooooooooooooooooooooooomjoooimoomrmoorhgmimmmjjhoimmjjjmgmjhmojmooooooomrmooooojemoohrgmoemmjjjmgmjooimooomjjhimommooooooooooooooooooooooooooooooo", "ooooooooooooooohjerejjigmooheoooomemogemoimooimoojihoooooooomjoooomjooohrgjoohemooijoogjoojjoomemoimoooomemoomrgmoomgooorjooooooooooooooooooooooooooooooooooooooooooooooooooooohjeejoomoomirgjheihhemojimooemojrmogjomegmoooooomjerejjjjgmhooomemooimojrmogjooheoooojimogejhoooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooohoohhoooooooooohhooooooooohooooohhoooohooooooooooooohoooooooohomemooooohoooohhoooooooohoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohoooooohoooohooohooooooooooooooooooooooooooooooooooooooohoooooooooooohoooohoooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooomjgeegoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohgooomgoooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooojgoooomgooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohegmmmimooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooohmjmmooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "mppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp", "offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooommmmmmmmmmmmmohmmmmmmmmhooooommmmmmmommmmmmmhooooommmmmmmooooooooohmmmmmmmoooommmmmmmmoooooohmmmmmmmmmmmommmmmmmmmhooooohmmmmmmmmmmhhmmmmmmmmmmhhmmmmmmhmmmhmmmmmhooohmmmooooohmmmmmmmmhhooooommmmmmmmmmmooommoooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooommjjjmjmmjjmjmmmjjjjjjmjmmooojjjjjmmmmmjjjmjjooooojjjjjmjmoooooooohmjjjjmjmohmjpjjmmmphooooommjjjjjjjjmjmmmjjjjjjjjjhooommjjjjjjjjmjhmjjjjjjjjmpmhjjjjjpmjmphjjmjjooommjjhoooohmjjjjjjjjjmhooojjjjjjjjjmphommjjhoooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooommjppmppmpjmppmmmppjjjmppjjoommppmmppjmmppmppmoooommppmmppmooooooohmhppmjpphmppmjmmpjpphoooommmppmjmmpjjpjmmppmmmjppjmoommmppjjjjpmpjjmppjjjjpmppmmpphppmpmpmmpmppmoomppmphooohjhppjmmmppjphoojmpppjjmpmpphmppjpoooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooommppmppjpmpppmhmppmpppmpjpmoommphpppmmmpmpppjooooommpmpppmooooooooomjphpppmjpjpppjmjpphooooohmppjpppmjjpmmmpmjppmjpjphoohmppjppjpmpjomjpmppppmppomppmppjpmppjjpppjommppmppooooomjphpppmppjmooommpmpppjmppmjppmpmooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooommmjppjmppppmomjjjpppmjjjpoommjmpppmhmjmpppmooooommjmpppmooooooooomjjmpppjjmjppoomjpphoooooomjjjppmjjjpmhmjmppppmjjpjooomjjjpppjmpjomjjmpppjmppojmmjpjjmjppjmpppmommmmjpphoooomjjmpppjjjjphoommjmpppjmppmmpjjppooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooohmmmmjpmppmooommmjpmhjmmjpmommhmpphohmhmppmoooooommhmpphoooooooooommmmppommomjphomjpphoooooommmjpmommjpmhmhmppjjmmmppooommmjpmmmmpjommmmpjhmmppommompmpmmjpjmppooomphmmjpmoooommmmppmmjmmpmoommhmppojmppmjjjmppooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooommompmppmoooomhmjpjmmhmppmommhmppoohmhhpphoooooommomppooooooooooommmmpjohmmmpmmmhjpphoooooomhmjppoppppmhmhmppmmmhmpphoommmjpjmjppjommmmpphppppohmhmjmjmhmpjjpmoohmpjhhmpjoooommmmppmmmmjpjoommhmpphpjppmmmmjppooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooohmjmpmpphoooomjpjjjjjjmppmommjmppoohmmmpphoooooommmmppooooooooooomjjmpjoompjjppjmmjjhoooooomjpmmmjhpppmhmmjjjjjjjjpphoomjpjjmmjppjomjjjjmjmpppoojjjmmmmjmjjppmoommjpmmmppoooomjjjjjjpjmppjoommjjjjjmpppmmjjjppooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooomhmhjpmooooommhhhhommjpphomomhppoohmmhpphoooooomhmmppooooooooooomhmmpjoommoohmmhhphooooooommhhhmpmmmmhhhjoooohmmpppooommhhhmphmmmomhmhhhpmmmmoojhjmhmhjhmopphoomhmpmmhpphooomhmoooojhpppmoomhmhhhpjmmmhmmmjpjooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooomhmphphooooompmjpppmphpmoommpmppoohmpmpphoooooommpmppooooooooooommpmpjooojjhoopphjpooooooompmjppppoooohmphjjjmphppmooompmjpppmoooommpmpppjooooommpmommpmhhppooomoooojmjpmooommjmjjmpjmpphoommpmppppoooommmppmooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooohmohpmjmooooommhjpppmjhjmoomhphppoohhphpphohhhoomhphppohhhooooooommjmpjommmjpjhhpmmpmoooooommmjppppoooohhpopppmmmjpmhoommmjpppmjhoommmmpppjjmooommphojmjmomppoohmoooohmmpjooommmmppphphpjmoomhphpppjmjoommmppmooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooomhomhmhphoooommhjpjmmmhjpoomomhppoohhmopphojmjoomomhppohmjmoooooomommpjomojhmppmmmhpjoooooommhjpjhhoooohhmoppjmhmmmophommhjpjjomphomhmmppmhhphoohmmhojphmompjoomhhjjjhmhppooomhhmppmhmopommomomhpphmopmommmppmooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooohmomphhhmjoooomhojpmhmhojpmomohhppoohhhopphhmhpmomohhppomhmphooooomohmpjomomjoohpohmppoooooomhojpmoooooohhhopphmohmmopjomhojpmmompmomohmpjmhhppooojhhoppomojpmoomohppphhopphoomohmpjomhopomphmohhpphmopphhpppphooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooomhoppjohhpmoohmhompjmohoppmomohoppoomhhompjmhhppomohojpmmompjoooohmohhpjomoomjhhjohmppooooohmhompmoooooomhhojphhhhohhpphmhojpjmompjhmohmppmohppooojhhopphhoppmohmohppphhompjohmohhpjomhohompmmohhppmhoppmmhhppoooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooohjhohjpmooohjhmmhoohhhooomppmjhooohjhjmoooooooohppjhoooooooompjooohjhooomjomooohmmhohpppoooommooohmjooooojmooohjmomooomppmooohmmoomppjhooommhohppooomhohppmohpphmmooompmooohjpmjhooomjhmooooppjhooohmhooppmmoojpoooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooommooommooooomjmoooooooohmpppmmooooomjmooooooooohppmooooooooompjooohhooooojmmomjmhohmpppjoooomoooooopmoooomooooohphmhoojppooooooooompphoooooooohppooohmompjmohppomooooopooooohpphooooojjhmoohppmoooooooooppmmmmppmooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooohppppppppppppppppppppppppppphpppppppppppppppppppppppppppppppppjooohppppppppjppppppppppphoooomppppppppoooojpppppppphpjppppppppppppppppppppppppppppooooppppjjpppjomppppppppppppppppppppppmjpjpppppppppppppppmhppppmooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooohppppppppppppjjppppppppppphohpppppppmpppppppppppphpppppppppppjoooompppppppmpppjjppppphoooooojpppppppoooohppppppppompppphjppppppppppjmpppppppppppoooohpppmhpppjoompppppppppppppmpppppppmhppppjhpppppppppppmompppmooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooohmmmmmmmmmmmmhmmmmmmmmmmhooommmmmmmhhmmmmmmmmmmmommmmmmmmmmmmooooommmmmmmhhmmhohmmhoooooooohmmmmmmmooooohmmmmmmmoohmmhohmmmmmmmmmmmommmmmmmmmmmooooommmhohmmhooommmmmmhmmmmmmommmmmmmhoommhoommmmmmmmmmmhoohmmoooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "mppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp", "offfffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrrrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrrroooooorooroooooooooooooooooooooooooooooooooooooooroooooooooooooroooorooorroooorroooorroooooorooooooorrrrrooooooooooooooooroooooooooooooooooooooorrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorooroororrorroooooooooooooooooooooooooooooooroooooorroooooooooooororrrroroooroooroorooroorooooorooooooooroooroooooooooooooorrooooooooooooooooooooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorooroooooroorooooooooooooooooooooooooooooooooooooooorooooorooooororooorooroorooorooororooorooorroooooooorooorooooooooooooooorooooooooooooooooooooorooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrorrorrrooorooroorooooorrroorrrooorrrrorrorrorororoorrrrorrroorrrrooororoooooorooroooroorroroorroororoooooooorooororrorrorrorrroorrrooorrrooorroorrroorrrorrrrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooororooroororrooroorooooroooorooororrooororororrrorrorooroorooroorooooororoooororooroooorroroorrororooroooooooorrrroroooorororoooooroororooororoooroooroorooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorooorooororoorooroooorooooroooroorooorororoorooororoorooroorooroooooororrrrorooorooooooroooooroorrrrrooooooorooooorooorororoooooroororoooroorooroooroorooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooororoorooororoorooroooorooooroooroorooororroooroooroorrooorooroorooooooorooooroooorooooorooooorooooooroooroooorooooooroorrooroooooroororooorooororoooroorooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrorrrrrrrorrrrrrrrroooorrroorrrooorrrroooroorrrorrrrrooorrrorroorroooooorrrroooorrroooroooooroooooorrroorooorrrooorroooorooorrrorrrorrorrroorrooorrroorrrooorrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "ooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorooooorooooooooooorrroooooooooooooooooooooooooooooooooooooooooooooooorooooooooooooooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooroooooroooooooooorooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrroooroooooooooooorrroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oorrrrrrrorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorooooooooooooooooroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oorooroorrrooooooooooooooooooooooooooroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooroooooorrooooooooooooooorroooooooooroooooooooooooooooooooooooooooooooooooooorooooooooooooooooooooooooooooooooooooooooooooooo", "oooooroooorooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorooooooooooooooroooooooooooooooooooooooooooooooorooooooooooooooooooooooooooooooooooooooooooooooorooooorooooooroooroooooooooooooooooooooooooooooooooooooooooooooorooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooroooorrrooorrooooororroorooorororoorrroooroororrooooorrroorrrooorrrorroorrrrooroorrrrrorroororooooroorrrooorrrrorrrooorrooooooorrorrrrorrrooooooorrroorrrooorrrrorrorrorororoorrrrorrroorrrrooorrrrorrrooorrooroororoooorororroorroorrrroorroorrrorrrroroororrorrooooorrrorrororrorrrooorroorororrooooo", "ooooorooooroororoorooooroororororrrorrorooororrorrrooooooroooorooororrooroorrrooorrrorrorooroorrrrooooororooororoororooororooooooooroororooroooooooooroooorooororrooororororrrorrorooroorooroorooooooroooroororoorrrorrroooorrroroorrooorrooorroorroooooroorrooroorroorooorooorrooroorrroororoorrrrorooooooo", "ooooorooooroororrroooooorrooorroorooororooorooroororooooorooooroooroorooroororooororoororoorrrooroooooororooororoororoooroorooooooorrrooroorooooooooorooooroooroorooorororoorooororooroorooroorooooooroooroororrrooroorooooooroorrroorooorooorrrrorooooorooorooorrorrroooorooororrorrooroororrrooroooroooooo", "ooooorooooroororoooooooorooororoorooororooorooroorooroooorooooroooroorooroororooororoororoorooooroooooororoooroorrooroooroooroorooorooooroorooooorooorooooroooroorooororroooroooroorrooorooroorooooooroooroororoooorooroooooorooroooooroorooorrooorooooorooorooorooroooooorooororooroooroororooooroooorooroo", "oooorrroorrrorrorrrooooorooorrrrrrrorrrorrroooorrrrroooooorrroorrroorrrororrorrrrooorrroorrorrrrrroooorrrorrroorroooorrroorroooroooorrroorrorrrooroooorrroorrrooorrrroooroorrrorrrrrooorrrorroorrooooorrrrrorrorrrrrrrrroooorrroorrrrrooorrrroorrrorrrooorrrrroorooorrroooorrroorooroorrorrrorrrrrrorroooroo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooroooooooooooooooooooooooooooooooooorrroooooooooooroooooooooooooooooooooooooooooooooorooooorooooooooooorrroooooooooooooooooooooooooooooooooooooooooooooooooooroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooroooooooooooooooooooooooooooooooooroooroooooooooooooooooooooooooooooooooooooooooooooroooooroooooooooorooorooooooooooooooooooooooooooooooooooooooooooooooooooroooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooorrrooooooooooooooooooooooooooooooooorrrooooooooooooooooooooooooooooooooooooooooooooorrroooroooooooooooorrroooooooooooooooooooooooooooooooooooooooooooooooooorrrooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo", "oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo"}; xbill-2.1/pixmaps/apple.xpm0100644000076400007640000000163707363174040016212 0ustar bwellingbwelling/* XPM */ static char * apple_xpm[] = { "28 24 7 1", " c #ff9ebe", ". c #3c9e3c", "X c #ffff00", "o c #ffbe7d", "O c #ff0000", "+ c #7d3cbe", "@ c #0000ff", " .... ", " .... ", " .... ", " ... ", " .. . .. ", " ...... ...... ", " .................. ", " .................. ", " XXXXXXXXXXXXXXXXX ", " XXXXXXXXXXXXXXXX ", " XXXXXXXXXXXXXXXX ", " oooooooooooooooo ", " oooooooooooooooo ", " oooooooooooooooo ", " OOOOOOOOOOOOOOOOO ", " OOOOOOOOOOOOOOOOO ", " OOOOOOOOOOOOOOOOOO ", " +++++++++++++++++ ", " ++++++++++++++++ ", " +++++++++++++++ ", " @@@@@@@@@@@@@@ ", " @@@@@@@@@@@@ ", " @@ @@ ", " "}; xbill-2.1/pixmaps/billA_0.xpm0100644000076400007640000000523307363174040016347 0ustar bwellingbwelling/* XPM */ static char * billA_0_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #fffff7", "@ c #dedebd", "# c #ffff9e", " ", " ", " ........ ", " ..XXXXXXXX... ", " .XXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXX.XX. ", " ..XXXXXXXXXXXXXX.XXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX.", " .XXXXXXXXXXooooXXXXXXXX.", " .XXooooXXXoOOOOoXXXXXXX.", " .XoOOOOoXoOOOOOoXXXXXXX.", " .oOOOOoXoOOOOO ooooX.X.", " oOOOOOooOOOOOOo+@.X.. ", " oOOOOOooOOOOOOo@+... ", " oOOOOOo+oOOOOOo+@. ", " ooOOOo+@oOOOOo+@. ", " ooo+@+@oooo+... ", " .@.@+@+@+@. ", " .+@.@+@+.+. ", " ..+@+@+.... ", " ..##.+@+..###. ", " .##.#....#####. ", " .#.#.#.##.######. ", " .#.#.#.#.########. ", " .##.##..#.##.#####. ", " ..#.##...####.#####. ", " .+@..###..####.###... ", " .@ @.###.######.#.@+. ", " .@ .###.#######.@+@+. ", " .. .............@+. ", " .########. .. ", " .########. ", " .##.####. ", " .##.###. ", " .##.###. ", " ........... ", " ............. ", " ........... ", " "}; xbill-2.1/pixmaps/billA_1.xpm0100644000076400007640000000523307363174040016350 0ustar bwellingbwelling/* XPM */ static char * billA_1_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #fffff7", "@ c #dedebd", "# c #ffff9e", " ", " ", " ....... ", " .XXXXXX. ", " ...XXXXXXXX.... ", " .XXXXXXXXXXXXXXX. . ", " .XXXXXXXXXXXXXXXX.X. ", " ..XXXXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXooooXXXXXXXX. ", " .XXooooXXXoOOOOoXXXXXXX. ", " .XoOOOOoXoOOOOOoXXXXX.X. ", " .oOOOOoXoOOOOOOooooX.X. ", " oOOOOOooOOOOOOo+@.X.. ", " oOOOOOooOOOOOOo@+.. ", " oOOOOOo+oOOOOOo+@. ", " ooOOOo+@oOOOOo+@. ", " ooo+@+@oooo+... ", " .@.@+@+@+@. ", " .+@.@+@+.+. ", " ..+@+@+.... ", " ..##.+@+..###. ", " .##.#....#####. ", " .#.#.#.##.######. ", " .#.#.#.#.########. ", " .##.##..#.##.#####. ", " ..#.##...####.#####. ", " .+@..###..####.###... ", " .@ @.###.######.#.@+. ", " .@ .###.#######.@+@+. ", " .. .............@+. ", " .###########.. ", " .. .##..#####.. ", " ....####....#.... ", " ......##. ...... ", " ........ ....... ", " ....... ...... ", " ... .... ", " "}; xbill-2.1/pixmaps/billA_10.xpm0100644000076400007640000000523407363174040016431 0ustar bwellingbwelling/* XPM */ static char * billA_10_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #dedebd", "O c #000000", "+ c #ffffff", "@ c #fffff7", "# c #ffff9e", " ....... ", " . .XXXXXXX.... ", " .X.XXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX... ", " .XXXXXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXX..XXXXXXXXXXXXX. ", " .....o.XXXXXXXXXXXX. ", " OOOOOO.XXXXXXXXXX. ", " O+.o+o..XXXXXXXX. ", " O+.+o+o.XXXXXXXX. ", " O.o+o.XXXXXXXX. @ ", " .o+o..XXXXXX. ", " .+o+o...XXXX. ", " ...+............ ", " ...###########. ", " ...##############. ", " ...#################. ", " .....###################.. ", " . o.##################.. ", " .o .##################. @ ", " ....#################. ", " ......###########. ", " .#############. ", " .#############. ", " .######.....##. ", " .##....#####.#. ", " ...#########. ", " .##########. ", " .#####.####. ", " .#####..####. ", " .#####..####. ", " .#####. .####. ", " .#####. .####. ", " ....... ..... ", " ......... ...... ", " ....... .... ", " "}; xbill-2.1/pixmaps/billA_11.xpm0100644000076400007640000000523407363174040016432 0ustar bwellingbwelling/* XPM */ static char * billA_11_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #dedebd", "O c #000000", "+ c #ffffff", "@ c #fffff7", "# c #ffff9e", " ....... ", " . .XXXXXXX.... ", " .X.XXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX... ", " .XXXXXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXX..XXXXXXXXXXXXX. ", " .....o.XXXXXXXXXXXX. ", " OOOOOO.XXXXXXXXXX. ", " O+.o+o..XXXXXXXX. . ", " O+.+o+o.XXXXXXXX..o. ", " O.o+o.XXXXXXXX...@. ", " .o+o..XXXXX...... ", " .+o+o...XXX.##... ", " ...+......####. ", " ...#########. ", " ...##########.. ", " ..###########... ", " .#############. ", " .###############. ", " .################. @ ", " .#################. ", " .######.###########. ", " ..###..#############. ", " ..o..#. .#############. ", " .o .. . .######.....##. ", " .. .##....#####.#. ", " ...#########. ", " .##########. ", " .#####.####. ", " .#####..####. ", " .#####..####. ", " .#####. .####. ", " .#####. .####. ", " ....... ..... ", " ......... ...... ", " ....... .... ", " "}; xbill-2.1/pixmaps/billA_12.xpm0100644000076400007640000000523407363174040016433 0ustar bwellingbwelling/* XPM */ static char * billA_12_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #dedebd", "@ c #fffff7", "# c #ffff9e", " ", " ", " ", " ....... ", " .XXXXXX. ", " ....XXXXXXXX... ", " . .XXXXXXXXXXXXXXX. ", " .X.XXXXXXXXXXXXXXXX. ", " .XX.XXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXooooXXXXXXXXXX. ", " .XXXXXXXoOOOOoXXXooooXX. ", " .X.XXXXXoOOOOOoXoOOOOoX. ", " .X.XooooOOOOOOoXoOOOOo. ", " ..X.+@oOOOOOOooOOOOOo ", " ..@+oOOOOOOooOOOOOo ", " .+@oOOOOOo@oOOOOOo ", " .+@oOOOOo+@oOOOoo ", " ...@oooo+@+@ooo ", " .+@+@+@+.+. ", " .@.@+@+.+@. ", " ....@+@+@.. ", " .###..@+@.##.. ", " .#####....#.##. ", " .######.##.#.#.#. ", " .########.#.#.#.#. ", " .#####.##.#..##.##. ", " .#####.####...##.#.. ", " ...###.####..###..+@. ", " .@+.#.######.###.+ +. ", " .@+@+.#######.###. +. ", " .@+............. .. ", " ..###########. ", " ..#####..##. .. ", " ....#....####.... ", " ...... .##...... ", " ....... ........ ", " ...... ....... ", " .... ... "}; xbill-2.1/pixmaps/billA_2.xpm0100644000076400007640000000523307363174040016351 0ustar bwellingbwelling/* XPM */ static char * billA_2_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #fffff7", "@ c #dedebd", "# c #ffff9e", " ", " ", " ........ ", " ..XXXXXXXX... ", " .XXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXX.XX. ", " ..XXXXXXXXXXXXXX.XXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXooooXXXXXXXX. ", " .XXooooXXXoOOOOoXXXXXXX. ", " .XoOOOOoXoOOOOOoXXXXXXX. ", " .oOOOOoXoOOOOOOooooX.X. ", " oOOOOOooOOOOOOo+@.X.. ", " oOOOOOooOOOOOOo@+... ", " oOOOOOo+oOOOOOo+@. ", " oOOOo+@oOOOOo+@. ", " ooo+@+@oooo+... ", " .@.@+@+@+@. ", " .+@.@+@+.+. ", " ..+@+@+..... ", " ..##.+@+..###.+ ", " .##.#....#####.+ ", " .#.#.#.##.######. ", " .#.#.#.#.########. ", " .##.##..#.##.#####. ", " ..#.##...####.#####. ", " .+@..###..####.###... ", " .@ @.###.######.#.@+. ", " .@ .###.#######.@+@+. ", " .. .............@+. ", " .########.. .. ", " .########. ", " .##.####. ", " .##.###. ", " .##.###. ", " .......... ", " ............ ", " .......... ", " "}; xbill-2.1/pixmaps/billA_3.xpm0100644000076400007640000000523307363174040016352 0ustar bwellingbwelling/* XPM */ static char * billA_3_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #ffffff", "O c #000000", "+ c #dedebd", "@ c #fffff7", "# c #ffff9e", " . ", " ......X.. ", " ..XX.XXXXXX. ", " .XXXXXXXXXXXX.. ", " .XXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXX. ", " .XXXXXX...XXXXXXXXXX. ", " .XXXXX.oo.XXXXXXXXX.. . ", " .XXXXX.oOO...XXXX... .+. ", " .XXXX.oOoooo...... .@. ", " ..XX.oOooooo.ooo. ..#.. ", " ...Oooo.ooooooo...####. ", " OoO.oo.ooooooo.#####. ", " OOo.oo.o......######. ", " OOO.o...##########. ", " ..############. ", " .#############. ", " .#############.. ", " .##############. ", " .################. ", " .#####.###########. ", " .###...############. ", " .+.#. .#####......#. ", " .+ .. .###...####..#. ", " .. .#...########. ", " .. ..########. ", " .#########. ", " .#####.####. ", " .#####..####. ", " .#####..####. ", " .#####. .####. ", " .#####. .####. ", " ....... ..... ", " ......... ...... ", " ....... .... ", " "}; xbill-2.1/pixmaps/billA_4.xpm0100644000076400007640000000523307363174040016353 0ustar bwellingbwelling/* XPM */ static char * billA_4_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #dedebd", "O c #000000", "+ c #ffffff", "@ c #fffff7", "# c #ffff9e", " ....... ", " . .XXXXXXX.... ", " .X.XXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX... ", " .XXXXXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXX..XXXXXXXXXXXXX. ", " .... o.XXXXXXXXXXXX. ", " OOOOOO.XXXXXXXXXX. ", " O+.o+o..XXXXXXXX. . ", " O+.+o+o.XXXXXXXX..o. ", " O.o+o.XXXXXXXX...@. ", " .o+o..XXXXX...... ", " .+o+o...XXX.##... ", " ...+......####. ", " ...#########. ", " ...##########.. ", " ..###########... ", " .#############. ", " .###############. ", " .################. @ ", " .#################. ", " .######.###########. ", " ..###..#############. ", " ..o..#. .#############. ", " .o .. . .######.....##. ", " .. .##....#####.#. ", " ...#########. ", " .##########. ", " .#####.####. ", " .#####..####. ", " .#####..####. ", " .#####. .####. ", " .#####. .####. ", " ....... ..... ", " ......... ...... ", " ....... .... ", " "}; xbill-2.1/pixmaps/billA_5.xpm0100644000076400007640000000521407363174040016353 0ustar bwellingbwelling/* XPM */ static char * billA_5_xpm[] = { "58 41 7 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #dedebd", "+ c #ffffff", "@ c #ffff9e", " ", " ", " ", " ... ", " .XXX.. ", " ......ooooXXX. ", " .....O+Oo++++oXXX. ", " ..+.+.+Oo+++++oXXXX. ", " ..+.++.O+o+++++oXXXXX. ", " .+.++.O+Oo+++++oXXXXX.. ", " ..+..O+O+ooooooXXXXXXX. ", " ...+OoooooXXXXXXXXXXXX. ", " .O+Oo++++oXXXXXXXXXXXX. ", " .+Oo+++++oXXXXXXXXXXXX. ", " .+o+++++oXXXXXXXXXXXX. ", " .Oo+++++oXXXXXXXXXX.X. ", " .o+++++oXXXXXXXXXXX.. ", " .+o+++oXXXXXXXXXXXX. ", " ..OoooXXXXXXXXXXXXX. ", " ..@.XXXXXXXXXXXXXXX. ", " .@@@@.XXXXXXXX.XXX... ", " .@@@@@..XXXXXXXX.... ", " .@@@@@@@...XX..... ", " .@@@@@@@@@@@...... ", " .@@@@@@@@@@@@@@@@@.. ", " .@@@@@.@@@@@@@@@@@@@. ", " ...@@...@@@@@@@@@@@@@. ", " ..O ....@@@@@@@@@@@@@@@. ", " . O... ...@@@@@@@@@@@.. ", " ... .@......@@@.. ", " .@@@@@@@.... ", " .@@@@@@@@@@@. ", " .@@@@@@...@@. ", " .@@@@@.@@@@@. ", " .@@@@..@@@@. ", " .@@@@. .@@@.. ", " .@@@@. .@@... ", " ....... ..... ", " ......... ...... ", " ....... .... ", " "}; xbill-2.1/pixmaps/billA_6.xpm0100644000076400007640000000523307363174040016355 0ustar bwellingbwelling/* XPM */ static char * billA_6_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #fffff7", "@ c #dedebd", "# c #ffff9e", " ", " ", " ....... ", " ..XXXXXX. ", " ...XXXXXXXX.... ", " .XXXXXXXXXXXXXXX. . ", " .XXXXXXXXXXXXXXXX.X. ", " ..XXXXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXooooXXXXXXXX. ", " .XXooooXXXoOOOOoXXXXXXX. ", " .XoOOOOoXoOOOOOoXXXXX.X. ", " .oOOOOoXoOOOOOOooooX.X. ", " oOOOOOooOOOOOOo+@.... ", " ..oOOOOOooOOOOOOo@+.. ", " ..oOOOOOo+oOOOOOo....... ", " .+ooOOOo+@oOOOOo+..@.@+. ", " .@+@ooo+@+@oooo+...+@+.. ", " ....##.@.@+@+@+.##.@+@. ", " .###.+@.@+@+.###.+@+. ", " .###.+@+@+.####..... ", " .####.+@+..######.. ", " .##.#...#######.. ", " ..#.#.##.######. ", " .#.#.#.######. ", " .##..#.######. ", " .##...#######. ", " .###..#######. ", " .###.########. ", " .###.#######.. ", " ............ ", " .##########. ", " .. .##..#####... ", " ....####....#.... ", " ......##. ...... ", " ........ ...... ", " ....... ...... ", " ... .... ", " "}; xbill-2.1/pixmaps/billA_7.xpm0100644000076400007640000000523307363174040016356 0ustar bwellingbwelling/* XPM */ static char * billA_7_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #fffff7", "@ c #dedebd", "# c #ffff9e", " ", " ", " ", " ........ ", " ..XXXXXXXX... ", " .XXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXX.XX. ", " ..XXXXXXXXXXXXXX.XXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXooooXXXXXXXX. ", " .XXooooXXXoOOOOoXXXXXXX. ", " .XoOOOOoXoOOOOOoXXXXXXX. ", " .oOOOOoXoOOOOOOooooX.X. ", " oOOOOOooOOOOOOo+@.X.. ", " oOOOOOooOOOOOOo@+... ", " oOOOOOo+oOOOOOo+@. ", " ooOOOo+@oOOOOo+@. ", " ooo+@+@oooo+... + ", " .@.@+@+@+@. ", " .+@.@+@+.+. ", " ..+@+@+.... ", " ..##.+@+..###. ", " .##.#....#####. ", " .#.#.#.##.######. ", " .#.#.#.#.########. ", " .##.##..#.##.#####. ", " ..#.##...####.#####. ", " .+@..###..####.###... ", " .@ @.###.######.#.@+. ", " .@ .###.#######.@+@+. ", " .. .............@+. ", " .########. .. ", " .########. ", " .##.####. ", " .##.###. ", " .##.###. ", " ........... ", " ............. ", " ........... "}; xbill-2.1/pixmaps/billA_8.xpm0100644000076400007640000000523307363174040016357 0ustar bwellingbwelling/* XPM */ static char * billA_8_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #fffff7", "@ c #dedebd", "# c #ffff9e", " ", " ", " ....... ", " .XXXXXX.. ", " ...XXXXXXXX.... ", " .XXXXXXXXXXXXXXX. . ", " .XXXXXXXXXXXXXXXX.X. ", " ..XXXXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXooooXXXXXXXX. ", " .XXooooXXXoOOOOoXXXXXXX. ", " .XoOOOOoXoOOOOOoXXXXX.X. ", " .oOOOOoXoOOOOOOooooX.X. ", " oOOOOOooOOOOOOo+@.... ", " ..oOOOOOooOOOOOOo@+.. ", " ..oOOOOOo+oOOOOOo....... ", " .+ooOOOo+@oOOOOo+..@.@+. ", " .@+@ooo+@+@oooo+...+@+.. ", " ....##.@.@+@+@+.##.@+@. ", " .###.+@.@+@+.###.+@+. ", " .###.+@+@+.####..... ", " .####.+@+..######.. ", " .##.#...#######.. ", " .#.#.##.######. ", " .#.#.#.######. ", " .##..#.######. ", " .##...#######. ", " .###..#######. ", " .###.########. ", " .###.#######.. ", " ............ ", " .########. ", " .########. ", " .##.####. ", " .##.###. ", " .##.###. ", " ........... ", " ............. ", " ........... "}; xbill-2.1/pixmaps/billA_9.xpm0100644000076400007640000000523307363174040016360 0ustar bwellingbwelling/* XPM */ static char * billA_9_xpm[] = { "58 41 8 1", " c None", ". c #5a395a", "X c #debd5a", "o c #000000", "O c #ffffff", "+ c #fffff7", "@ c #dedebd", "# c #ffff9e", " ", " ", " ", " ....... ", " .XXXXXX.. ", " ...XXXXXXXX.... ", " .XXXXXXXXXXXXXXX. . ", " .XXXXXXXXXXXXXXXX.X. ", " ..XXXXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXooooXXXXXXXX. ", " .XXooooXXXoOOOOoXXXXXXX. ", " .XoOOOOoXoOOOOOoXXXXX.X. ", " .oOOOOoXoOOOOOOooooX.X. ", " oOOOOOooOOOOOOo+@.... ", " ..oOOOOOooOOOOOOo@+.. ", " ..oOOOOOo+oOOOOOo....... ", " .+ooOOOo+@oOOOOo+..@.@+. ", " .@+@ooo+@+@oooo+...+@+.. ", " ....##.@.@+@+@+.##.@+@. ", " .###.+@.@+@+.###.+@+. ", " .###.+@+@+.####..... ", " .####.+@+..######.. ", " .##.#...#######.. ", " .#.#.##.######. ", " .#.#.#.######.. ", " .##..#.######. ", " .##...#######. ", " .###..#######. ", " .###.########. ", " .###.#######. ", " ............ ", " .##########. ", " .. .##..#####... ", " ....####....#.... ", " ......##. ...... ", " ........ ...... ", " ....... ..... ", " ... ... "}; xbill-2.1/pixmaps/billD_0.xpm0100644000076400007640000000232507363174040016351 0ustar bwellingbwelling/* XPM */ static char * billD_0_xpm[] = { "24 38 8 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #3f5fbf", "@ c #dfdfbe", "# c #ffff9e", " .. ... ", " .. .X. .. ", " ... .XX...X. ... ", " .X. .XXX.XX. ..X. . . ", " .XXX.XXX.XX..XXX.... ", "....XXXXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXX. .", " .XXXXXXXXXXXXXXXX.... ", " .XXXXXXXXooooXXXXXXX. ", "...ooooXXXoOOOOoXXXXX. ", ".XoO+OOoXoO+OOOoXXXX.. ", "..oO+OOoXoOO+OOOoooo. ", "..o++OOOooOOO+OOoO@.X. ", " oOO+OOooOO+O+Oo@O.X. ", " oOO+Oo@Oo+OOOoo..X... ", " oO+OoO@oOOOOo@.X. ", " . oooO@O@oooo .X. .. ", ". .... @... @ .@... .@. ", ".@.###. .... ....... . .", ". .####.@ @ ..####. @ @.", ".@.#####....#.####.@ @ .", "...####.##.##.#####.@ @.", " ....#.##.#.######.... ", " .##.#.#.#####.. ", " .##.#..#####. ", " .###...#####. ", " .###..######. ", " .####.######. ", " .###.#####.. ", " .. .#.##.##....#. ", ".... .##.....#####. .. ", ".....##############. ...", " ....#####.....#####....", " .....##.. .###.... ", " ...... ....... ", " .... ..... ", " ... "}; xbill-2.1/pixmaps/billD_1.xpm0100644000076400007640000000234407363174040016353 0ustar bwellingbwelling/* XPM */ static char * billD_1_xpm[] = { "24 38 9 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #ff0000", "@ c #dfdfbe", "# c #9f3f5f", "$ c #ffff9e", " . . ", " .... ... ", " ... .XXX.XX. .... ", " .XXX.XXX.XX..XX..... ", "...XXXXXXXXXXXXX..XX. ", ".XXXXXXXXXXXXXXXXXX. ", ".XXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXX.... ", " .XXXXXXXXooooXXXXXXX.. ", "..ooooXXXoOOOOoXXXXX. ", ".oO+OOoXo++OOOoXXXX.. ", ".oO+OOoXoOO+OOOoooo. ", ".o++OOOooOOO+OOoO@.X. ", " oOO+OOooOO+O+Oo@O.X.++ ", " oOO+Oo@Oo+OOOo++.+++.+#", " oO+OoO@oOOOO++ ++.. ", ". oooO@O@ooo++ ## .@. ", " ..$$$$... @ ++##.. . . ", "@.+++$$.... .+##$. @ @. ", " +##++++ @ .+##$$.@ @ . ", "@.$$###++.+++#$$$$.@ @. ", "..$$$$#+++++##$$++++++ ", " .$+#+++#+++++++++++ ", " +++++++++++++$$$#####+", "######+++++++$$++++ #", " #.++++++#+##+++++ ", " ++++$##++++++$$###+++ ", " +++ ##+$#++#+$$. ###++", "++ +#$.+#+#+$$$. ##+", " +# +#++#++$.. # ", " + +#+$+#+#+..$. ", " .. .$#$$+#.#$$$$. .. ", ".... .$$..+#.#$$$$$. ...", ".....$$$$$$# #.$$$$$....", " ....$$$$$.+ # .$$$.... ", " .....$$.. + ....... ", " ...... + ..... ", " .... ... "}; xbill-2.1/pixmaps/billD_2.xpm0100644000076400007640000000230607363174040016352 0ustar bwellingbwelling/* XPM */ static char * billD_2_xpm[] = { "24 38 7 1", " c None", ". c #ff0000", "X c #bf3f5f", "o c #5d3c5d", "O c #000000", "+ c #ffffff", "@ c #ffff9e", " . .X .", ". . ..X. . . ", " . .. ..X. . . ", " . .. ..X. . ", " . .. oo o.X . ", " ..OOOO oo ..X .. ", " O+.++O OOOO . .", "o O+.++O. O++++O . ", "o O..+++OO..+++O . ", " O++.++XX++.+++O. . ", " . X++.+OXO+++.++O. . ", " .@X.+.+OXO++.+.+O ... ", " .XXOOO.X.O.+++O. ... ", " ...X...X.O++++.....o X", " .XX...X..OOO..X..o ", " ..X.........X...o. ", " XXX........X.XXXX.. ", "..............X..X..... ", "XXXXX...X.X..X..X...... ", " .............X..oooooo", ".X.. .........X....... ", " X XXX............. ", " .............. . ", " ..XX............. ", " ..X.X.........XX.... ", " ......X..........Xo .", " oo ..XX...........oo @ ", " ..oXX...........o ", "......oX...X....X.... o ", " ....o.XX..X..X.X..@. oo", "...X. X....X..X.X.X.. .o", "..X..X........X.XX.X. X ", "..X X.X....... .XX.X.. X", "... .X. .o... .X...X. X", " .. .X. ..... .. .X. X", " . .. .. .X ", " X . .. . .. ", " . . . . "}; xbill-2.1/pixmaps/billD_3.xpm0100644000076400007640000000225007363174040016351 0ustar bwellingbwelling/* XPM */ static char * billD_3_xpm[] = { "24 38 5 1", " c None", ". c #ff0000", "X c #bf3f5f", "o c #5d3c5d", "O c #000000", ". . ", " ...X .. ", " ...X ....", " . ....X .....", " .. .. . o..o. .....", "...... ..o.... .......", " ..... . ..O. . ......", " .... .... . ...... ", ". . .. ... . .... ", ".. .. .. .... . ", "... . . . .... . ", " ... ... . ", " ... . ", " . .o ", " . . .... ", " .. . .......", " .. X... . ...X...", "..... ... ........", " . X . . ", " .... ", ". . .... ", " .. . ..... ", ". . . . . .... ", " . XX ... ", " X.. . ....", " .... . o ...", " ..... .. . o...", " . ... . ... . ", " .... X ..X . . ", " ... . X X.X .. ", " ... . X X.X X. ", " . . . X.X .. ", " . . .X ... ", " . .. .X ... ", " . . ... .X.. ", " . . ... ..X. ", " .. . . .... ", " ... . . "}; xbill-2.1/pixmaps/billD_4.xpm0100644000076400007640000000221207363174040016350 0ustar bwellingbwelling/* XPM */ static char * billD_4_xpm[] = { "24 38 3 1", " c None", ". c #ff0000", "X c #bf3f5f", " .. ", " .. .. ", " .. ....", " ... .....", " .. . .. ... ", " ... . .. ", " .. . . ", " . . .. ", " . ", ".. . . ", " ", " ", " ", " ", " .. ", " ....", " ...", " ..", " ", " ", " . . ", " ... . ", ".. . . ", ".. . ", ". ", " .. ", " . . .. ", " . . ", " . . ..", " .. . . .", " .. . X .", " . . ", " . . ", " .X .. ", " . ... X. ", " .. . ... .X ", " .. . . ", " . . "}; xbill-2.1/pixmaps/billL_0.xpm0100644000076400007640000000232507363174040016361 0ustar bwellingbwelling/* XPM */ static char * billL_0_xpm[] = { "24 38 8 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #fffbf3", "@ c #dfdfbe", "# c #ffff9e", " ....... ", " .XXXXXX.. ", " ...XXXXXXXX.... ", " .XXXXXXXXXXXXXXX. . ", " .XXXXXXXXXXXXXXXX.X. ", " ..XXXXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXXXXXX. ", "..XXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXXXooooXXXXXXXX.", ".XXooooXXXoOOOOoXXXXXXX.", ".XoOOOOoXoOOOOOoXXXXX.X.", " .oOOOOoXoOOOOOOooooX.X.", " oOOOOOooOOOOOOo+@.... ", "..oOOOOOooOOOOOOo@+.. ", "..oOOOOOo+oOOOOOo.......", ".+ooOOOo+@oOOOOo+..@.@+.", ".@+@ooo+@+@oooo+...+@+..", "....##.@.@+@+@+.##.@+@. ", " .###.+@.@+@+.###.+@+. ", " .###.+@+@+.####..... ", " .####.+@+..######.. ", " .##.#...#######.. ", " .#.#.##.######. ", " .#.#.#.######. ", " .##..#.######. ", " .##...#######. ", " .###..#######. ", " .###.########. ", " .###.#######.. ", " ............ ", " .##########. ", " .. .##..#####... ", " ....####....#.... ", " ......##. ...... ", " ........ ...... ", " ....... ...... ", " ... .... "}; xbill-2.1/pixmaps/billL_1.xpm0100644000076400007640000000232507363174040016362 0ustar bwellingbwelling/* XPM */ static char * billL_1_xpm[] = { "24 38 8 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #fffbf3", "@ c #dfdfbe", "# c #ffff9e", " ........ ", " ..XXXXXXXX... ", " .XXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXX.XX. ", " ..XXXXXXXXXXXXXX.XXX. ", " .XXXXXXXXXXXXXXXXXXXX. ", ".XXXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXXXooooXXXXXXXX.", ".XXooooXXXoOOOOoXXXXXXX.", ".XoOOOOoXoOOOOOoXXXXXXX.", " .oOOOOoXoOOOOOOooooX.X.", " oOOOOOooOOOOOOo+@.X.X ", "..oOOOOOooOOOOOOo@+... ", "..oOOOOOo+oOOOOOo.......", ".+ooOOOo+@oOOOOo+..@.@+.", ".@+@ooo+@+@oooo+...+@+..", "....##.@.@+@+@+.##.@+@. ", " .###.+@.@+@+.###.+@+. ", " .###.+@+@+.####..... ", " .####.+@+..######.. ", " .##.#...#######.. ", " .#.#.##.######. ", " .#.#.#.######. ", " .##..#.######. ", " .##...#######. ", " .###..#######. ", " .###.########. ", " .###.#######.. ", " ............ ", " .########. ", " .########. ", " .##.####. ", " .##.###. ", " .##.###. ", " ........... ", " ............. ", " ........... "}; xbill-2.1/pixmaps/billL_2.xpm0100644000076400007640000000232507363174040016363 0ustar bwellingbwelling/* XPM */ static char * billL_2_xpm[] = { "24 38 8 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #fffbf3", "@ c #dfdfbe", "# c #ffff9e", " ....... ", " .XXXXXX.. ", " ...XXXXXXXX.... ", " .XXXXXXXXXXXXXXX. . ", " .XXXXXXXXXXXXXXXX.X. ", " ..XXXXXXXXXXXXXX.XX. ", " .XXXXXXXXXXXXXXXXXXXX. ", "..XXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXXXooooXXXXXXXX.", ".XXooooXXXoOOOOoXXXXXXX.", ".XoOOOOoXoOOOOOoXXXXX.X.", " .oOOOOoXoOOOOOOooooX.X.", " oOOOOOooOOOOOOo+@.... ", "..oOOOOOooOOOOOOo@+.. ", "..oOOOOOo+oOOOOOo.......", ".+ooOOOo+@oOOOOo+..@.@+.", ".@+@ooo+@+@oooo+...+@+..", "....##.@.@+@+@+.##.@+@. ", " .###.+@.@+@+.###.+@+. ", " .###.+@+@+.####..... ", " .####.+@+..######.. ", " .##.#...#######.. ", " .#.#.##.######. ", " .#.#.#.######. ", " .##..#.######. ", " .##...#######. ", " .###..#######. ", " .###.########. ", " .###.#######.. ", " ............ ", " .########. ", " . ..#####... ", " ....#####.#.. ", " .....###.#... ", " .....#...... ", " ........... ", " ... .... "}; xbill-2.1/pixmaps/billR_0.xpm0100644000076400007640000000232507363174040016367 0ustar bwellingbwelling/* XPM */ static char * billR_0_xpm[] = { "24 38 8 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #fffbf3", "@ c #dfdfbe", "# c #ffff9e", " ....... ", " ..XXXXXX. ", " ....XXXXXXXX... ", " . .XXXXXXXXXXXXXXX. ", " .X.XXXXXXXXXXXXXXXX. ", " .XX.XXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXX. ", ".XXXXXXXXXXXXXXXXXXXXX..", ".XXXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXooooXXXXXXXXXX.", ".XXXXXXXoOOOOoXXXooooXX.", ".X.XXXXXoOOOOOoXoOOOOoX.", ".X.XooooOOOOOOoXoOOOOo. ", " ....+@oOOOOOOooOOOOOo ", " ..@+oOOOOOOooOOOOOo..", ".......oOOOOOo@oOOOOOo..", ".@+.+..@oOOOOo+@oOOOoo@.", "..@+@...@oooo+@+@ooo+@+.", " .+@+.##.@+@+@+.+.##....", " .@+@.###.@+@+.+@.###. ", " .....####.@+@+@.###. ", " ..######..@+@.####. ", " ..#######...#.##. ", " .######.##.#.#. ", " .######.#.#.#. ", " .######.#..##. ", " .#######...##. ", " .#######..###. ", " .########.###. ", " ..#######.###. ", " ............ ", " .##########. ", " ...#####..##. .. ", " ....#....####.... ", " ...... .##...... ", " ...... ........ ", " ...... ....... ", " .... ... "}; xbill-2.1/pixmaps/billR_1.xpm0100644000076400007640000000232507363174040016370 0ustar bwellingbwelling/* XPM */ static char * billR_1_xpm[] = { "24 38 8 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #fffbf3", "@ c #dfdfbe", "# c #ffff9e", " ........ ", " ...XXXXXXXX.. ", " ..XXXXXXXXXXXXX. ", " ..XXXXXXXXXXXXXXXX. ", " .XX.XXXXXXXXXXXXXXX. ", " .XXX.XXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXX. ", ".XXXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXooooXXXXXXXXXX.", ".XXXXXXXoOOOOoXXXooooXX.", ".XXXXXXXoOOOOOoXoOOOOoX.", ".X.XooooOOOOOOoXoOOOOo. ", " X.X.+@oOOOOOOooOOOOOo ", " ...@+oOOOOOOooOOOOOo..", ".......oOOOOOo@oOOOOOo..", ".@+.+..@oOOOOo+@oOOOoo@.", "..@+@...@oooo+@+@ooo+@+.", " .+@+.##.@+@+@+.+.##....", " .@+@.###.@+@+.+@.###. ", " .....####.@+@+@.###. ", " ..######..@+@.####. ", " ..#######...#.##. ", " .######.##.#.#. ", " .######.#.#.#. ", " .######.#..##. ", " .#######...##. ", " .#######..###. ", " .########.###. ", " ..#######.###. ", " ............ ", " .########. ", " .########. ", " .####.##. ", " .###.##. ", " .###.##. ", " ........... ", " ............. ", " ........... "}; xbill-2.1/pixmaps/billR_2.xpm0100644000076400007640000000232507363174040016371 0ustar bwellingbwelling/* XPM */ static char * billR_2_xpm[] = { "24 38 8 1", " c None", ". c #5d3c5d", "X c #dfbe5d", "o c #000000", "O c #ffffff", "+ c #fffbf3", "@ c #dfdfbe", "# c #ffff9e", " ....... ", " ..XXXXXX. ", " ....XXXXXXXX... ", " . .XXXXXXXXXXXXXXX. ", " .X.XXXXXXXXXXXXXXXX. ", " .XX.XXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXX. ", ".XXXXXXXXXXXXXXXXXXXXX..", ".XXXXXXXXXXXXXXXXXXXXXX.", ".XXXXXXXXooooXXXXXXXXXX.", ".XXXXXXXoOOOOoXXXooooXX.", ".X.XXXXXoOOOOOoXoOOOOoX.", ".X.XooooOOOOOOoXoOOOOo. ", " ....+@oOOOOOOooOOOOOo ", " ..@+oOOOOOOooOOOOOo..", ".......oOOOOOo@oOOOOOo..", ".@+.+..@oOOOOo+@oOOOoo@.", "..@+@...@oooo+@+@ooo+@+.", " .+@+.##.@+@+@+.+.##....", " .@+@.###.@+@+.+@.###. ", " .....####.@+@+@.###. ", " ..######..@+@.####. ", " ..#######...#.##. ", " .######.##.#.#. ", " .######.#.#.#. ", " .######.#..##. ", " .#######...##. ", " .#######..###. ", " .########.###. ", " ..#######.###. ", " ............ ", " .########. ", " ...#####.. . ", " ..#.#####.... ", " ...#.###..... ", " ......#..... ", " ........... ", " .... ... "}; xbill-2.1/pixmaps/bsd.xpm0100644000076400007640000000206307363174040015653 0ustar bwellingbwelling/* XPM */ static char * bsd_xpm[] = { "28 24 6 1 XPMEXT", " c #e0ffff", ". c #cd5c5c", "X c #888888", "o c #FFFFFF", "O c #000000", "+ c #cccccc", " ", " .. ", " .X . ", " ..... .X ", " ........ .X ", " .o........X ", " .Oo.o...XX ", " O ....Oo.. ", " O O ...X..... ", " O O .+...+... ", " O OOO .+++... ", " OO OO ..... ", " .. .XX. ", " .OO .... ", " OO.XX.. ", " ..... ", " .X.... ", " ..XXO. ", " ....... ", " ......... ", " ..o... .... ", " +...++... . ", " ... ..... .. ", " .. ", "XPMEXT copyright", "Copyright © 1988, Marshall Kirk McKusick", "All Rights Reserved. Reproduced with permission.", "", "XPMENDEXT"}; xbill-2.1/pixmaps/bsdcpu.xpm0100644000076400007640000000554607363174040016374 0ustar bwellingbwelling/* XPM */ static char * bsdcpu_xpm[] = { "55 45 11 1", " c #888888", ". c None", "X c #cccccc", "o c #bbbbbb", "O c #000000", "+ c #eeeeee", "@ c #cd5c5c", "# c #32cd32", "$ c #999999", "% c #666666", "& c #555555", " ...................", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...................", " XooooooooooooooooooooooooooooooooX ...................", " Xo oX ...................", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ...................", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ...................", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +@@+###+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +@O+##O+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +oooooo+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +oOoooo+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +oOoooo+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +oooooo+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +oOoooo+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +oOoooo+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +$$$$$$+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... +$$$$$$+ ....", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ..... ++++++++ ....", " Xo oX ..... +$$$$$$+ ....", " XooooooooooooooooooooooooooooooooX ..... ++++++++ ....", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..... ....", " ..... oooooooo ....", "... % % % % % % % % % % % % % % %........ oooooooo ....", "... % % % % % % % % % % % % % % %........ ....", "......&&%%%%%%%%%%%%%%%%%%%%&&............ .....", "......&&&&&%%%%%%%%%%%%%%&&&&&.........................", " ...... .........", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX . ... ... ........", " Xo+++++++++++++++++++oooXXXXXooooX ... . .....", " Xoo+++++++++++++++++++ooXXoXX+++oX ....... X X X .....", " Xoooo+++++++++++++++ooooXoooX+++oX ....... X X X .....", " X$$$$$$$$$$$$$$$$$$$$$$$X$$$X$$$$X ....... .....", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ....... XXXXX .....", " oooooooooooooooooooooooooooooooooo ....... XXXXX .....", " ....... ....."}; xbill-2.1/pixmaps/bucket.xpm0100644000076400007640000000166307363174040016365 0ustar bwellingbwelling/* XPM */ static char * bucket_xpm[] = { /* width height ncolors chars_per_pixel */ "24 24 10 1", /* colors */ " c #FFFFFF", ". c #1A1B1A", "X c #191718", "o c #ABABAC", "O c #595959", "+ c #9A9A9A", "@ c #A9D0E3", "# c #A4A3A4", "$ c #83BAD8", "% c #355C76", /* pixels */ " ", " ", " .X.... ", " ..X.oOOOOO.X.X ", " .X+o@o####OOOOOO.. ", " .+++@###oo#OOOOOO. ", " .X+++@@$$@$@%%%OOO.. ", " ..+@$@$@@@@@$%%%%O.. ", " .O.$$$$$$$$@@%%%%.+. ", " ..O.X.X.@@$@%.XX.#.. ", " .OO.OOX.....##o@#. ", " .OO.+O.+++##o##@#. ", " .OOOX.+++++o##@@#. ", " XOOO+O.+++++##@@oX ", " XOOO++OX++++o#@##. ", " .OO+++O.X++##@#O. ", " .OO+++++O.X.#@#.. ", " .OO++++++++O..... ", " .OOO+++++++oOOO. ", " .OO++++++###@. ", " ..OOO+++o#.. ", " ........ ", " ", " "}; xbill-2.1/pixmaps/hurd.xpm0100644000076400007640000000206307363174040016045 0ustar bwellingbwelling/* XPM */ static char * hurd_xpm[] = { "28 24 16 1", " c #aaaaaa", ". c #71b6d6", "X c #5da4f1", "o c #5e91d7", "O c #3171c5", "+ c #3487ca", "@ c #2750a0", "# c #29d176", "$ c #77d8d9", "% c #21bf77", "& c #00ff00", "* c #10e13c", "= c #183571", "- c #16ef1a", "; c #25639c", ": c #1f418a", /* pixels */ " ", " ", " ", " .XXXo ", " XXXXXXOo ", " XXXXXXX+O ", " XXXXXXXX+O@ ", " # .#XX$#XX%%+@o### ", " & &&.&X$$&**&&&&=&&&&# ", " & &&.&$$$&**&O&&=& && ", " & &&.&$$$&**&O*&=& && ", " &---&&.&X$X&**&O&&=& & ", " &&&&&&.&XXX&**&&&-=& & ", " & &&.&XXX&%*&&&==& & ", " & &&X&*X%&+*&;&-;& && ", " & &&X&&%&&O*&@&&;&--&& ", " & --+%&&&+O*&:*&+&&&& ", " O+O+OO@@:=:O+ ", " oOOOO@@:==@$o ", " @@@@::==:XX ", " @::::==:@XX ", " ;=====:@o ", " @==:O ", " "}; xbill-2.1/pixmaps/icon.xpm0100644000076400007640000000574207363174040016042 0ustar bwellingbwelling/* XPM */ static char* icon_xpm[] = { "50 50 16 1", "_ c #ffffff", "` c #ffff94", "a c #f7ffff", "b c #f7f7de", "c c #debd5a", "d c #deb552", "e c #adcee7", "f c #8ca573", "g c #6bb5ef", "h c #634263", "i c #523152", "j c #42b5ef", "k c #313963", "l c #0073b5", "m c #004a8c", "n c #000000", "__________________________________________________", "__________________________gegg____________________", "____________gjlllllggellllllllllljg_______________", "_____jlllllllllllgaeaaaaagggjjjljllll_____________", "____ljjljjgaejjjgaeaaaaaealjgjjgljjjlll___________", "___lljjjjgaejjjgaea_beeeehgljjjljjjjjgeel_________", "___lljjljaejjjgaeaabbb`bcdiigejjjjjjjeaaall_______", "__glejllagljjgaeaabbb`bcdddiilkjjjjjjaaaaella_____", "__glgjgagllllaea__bb`bcddddddlcijijjgaa_agjl______", "__lljgagllljagaa_bb`bcdddddddlfdidijeaaeeljl______", "__ljgaellllaeaa_eb`bcddddddddlfiddij_eaagjjjl_____", "__lgaejjljagaa_`b`bcdddddddddlfddddf_aaajjjjjl____", "__lggjjjgagaaaeb`bcddddddddddlfddddbeaaejjjjjl____", "__llljjgaeaaaeb`bcdddddddddddlfdddd_faajjjjjjl____", "__ljllgaaaaage`bcdddddddnnnndlfddd`__aajjjjjjl____", "__ljjlaaaaageebcnnnndddn____nlfdddb`bagjjjjjjl____", "__ljgaeaaaeagecn____ndn_____nlfddc_`aejjjjjjjl____", "__lgaeeaaeaeelkn____ndn______kknn`e_ejjjjjjjjl____", "__laeaaaeaeallln_____nn______kgbiafbgljjjjjjjl____", "__leeaagaeajjkin_____nn______kg_hagajmljjjjjjl____", "__eeaaeeeajjjiin_____n_n_____kmiee_eijmljjjjjl____", "__eaaeaeejjjji_nn___n_bn____ngli_h__iljmljjjjl____", "__gaeeealjjjjib_bnnn_b_bnnnn_klf___iimjjmljjjl____", "__jgeeajlljjjiiii``ibib_b_b_ielab_bimmmjjmljjl____", "__jegaljjljjjjji```i_bib_b_i`ela___immmmjjmljl____", "__leellljlljjjjji```i_b_b_i``eleeeiimmmmmjjmjj____", "__galllljjlljjjjk````i_b_ii`_elb_fijmmmmmmljeg____", "__llllllljlljjjjlk``i`iii``_bagb_ijjjmmmmmmlaj____", "__llllllljjljjjjlli`i`i``h_b__g_ejjjjjjmmmmggl____", "__llllllljjlljjjjli`i`i`h_b__bebgljjjjjjmmmamg____", "__ljlllllljjljjjjji``ii`bb__b_aammljjjjjjmlele____", "__lljlllllljlljjjji``ihbb__b__gfmmmljjjjjjelgg____", "__ljjlllllljjljjjji```bf__b__bjkmmmmljjjjgameg____", "__ljjjlllllljlljjji``_f__b__bbmkmmmmmljjjeeeaa____", "__lljjllllllljlljji`_b__b___b`mimmmmmmljjaeaag____", "__lljjjlllllljlljjgbeaaee__fiimmlmmmmmmmeeeaam____", "__lljjjjlllllljljgaea_b___b```mkjmmmmmmmagaaam____", "__lljjjjlllllljljbeaab__a`````mkijmmmmmmelaaemj___", "__lljjjjjlllllljbeaab__bhiii`imkijjlmmmelggejle___", "__gljjjjjlllllgaeaaebbb`ijjiiikiijjjlmmamaejgl____", "__eljjjjjjllllaaaa__bfiilliiiikmjjllmmggmeejlj____", "__aeejgjjjllleeaa__bfiiillkkmmlmmlllllajeeejme____", "__ajljjjllllegaaaaagliilllmlllljlmljjgejaelmljjjj_", "___ajmlllllaeaaaaaejjjjjlmlllllljlmllelmgljjljjjje", "_jlljlmmmmeeaaaaeellllllmmljjlllllllmglljjjjjljjge", "jjjjjjllllmllmmmmmmmmmmllllmmmmmmlllljjjjjjjjljge_", "__gljljjjjjjjjjjjjllllljjllllllljjljjjjjjjjjjljg__", "___jlljjjjjjjjjjjjjjjjjjjlljjjjjjjljjjjjjjjg______", "___________gjjjggjggjjjjjjlljjjjjjj_______________", "_________________________ggljjg___________________"}; xbill-2.1/pixmaps/linux.xpm0100644000076400007640000000215407363174040016243 0ustar bwellingbwelling/* XPM */ static char * linux_xpm[] = { /* width height ncolors chars_per_pixel */ "28 24 16 1", /* colors */ " c #0000F8", ". c #0000DD", "X c #100E33", "o c #000016", "O c #000000", "+ c #625041", "@ c #00008C", "# c #42333B", "$ c #DFD7B2", "% c #8F7644", "& c #F0BC0F", "* c #C8A337", "= c #E1BD43", "- c #F3F2F2", "; c #F6F6F6", ": c #F8F8F8", /* pixels */ " .XoOX. ", " oOOO+o. ", " @oOOOoOX ", " @##o++oo ", " @+$o$%#o ", " .#%%%%XO ", " .+&&&*OO. ", " @+*&*=#+@ ", " @%*%$$%XO. ", " .X----;:XOX ", " X%;---;-+oO@ ", " @o$------$XOO. ", " X+;-;;;---+XO@. ", " .o$;;;;;;--$OOo ", " X#;;;-;;;;-$OoO. ", " .o+;:;-:;;;-$OOO@ ", " .%+;;:-;::;-$oOX.. ", " %&&+-;;::;-$*OO%+ ", " +*&&&%X$::::;=&%%&% ", " *&&&&&#+:::::%&&&&=% ", " *&&&&&&$;::;%#&&&&&&% ", " *&&&&&&%%$+#O+&&&&*. ", " @%%&&&*#oXXXX#&&*# ", " ..#++@ X++@ "}; xbill-2.1/pixmaps/logo.xpm0100644000076400007640000004247507367101211016050 0ustar bwellingbwelling/* XPM */ static char* logo_xpm[] = { "260 65 30 1", "_ c #ffffff", "` c #ffff9c", "a c #ff9c9c", "b c #dedebd", "c c #debd5a", "d c #cecece", "e c #cece84", "f c #bdbdbd", "g c #b5b5b5", "h c #9cff9c", "i c #9c9cce", "j c #846b84", "k c #6b9cc6", "l c #63ff63", "m c #634a63", "n c #5aa5d6", "o c #5a395a", "p c None", "q c #4ab5ef", "r c #4a8cbd", "s c #395aa5", "t c #31cece", "u c #294a84", "v c #182931", "w c #18085a", "x c #00ffff", "y c #00ff00", "z c #000808", "{ c #0000ff", "| c #000000", "pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprsuuuuwwwwwwwwuuusrppppppppppppppppppppppppppppppppppppppppppppppprruuuuwwpppppppppprrsuuuuwuppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppprsuwwwwwwwwwwwwwwwwwwwwwwusppppppppppppppppppppppppppppppppppppppppuwwwwwwwwwwwpppppppuwwwwwwwwwwuppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppv||||||||||||uppppppppppppppppppppppppppppppppppppppnz||uppppppppppppppsuwwwwwwwwwwwwwwwwwwuwwwwwwwwwwuppppppppppppppppppppppppppppppppppppppsuuuuuuwwwwupppppppuuuuuuwwwwwuppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppnv||||||||||||rppppppppppppppppppppppppppppppppppppnu||uppppppppppppsuwwwwwwusrppppuwwwwwwupppruwwwwwwwwspppppppppppppppppppppppppppppppppppppppppppwwwwuppppppppppppprwwwwuppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppppppppppppppppppppppppppppppnz||||||||||||npppppppppppppppppppppppppppppppppppu||znppppppppppuwwwwwusrppppppppswwwwwwsppppppswwwwwwwuppppppppppppppppppppppppppppppppppppppppppwwwwupppppppppppppswwwwsppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppppk||||||||||||vnpppppppppppppppppppppppppppppppppr||znpppppppppuwwwwusppppppppppppswwwwwwrppppppppswwwwwwwpppppppppppppppppppppppppppppppppppppppprwwwwspppppppppppppuwwwwrppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppppppppppppppppppppppppppppppppu||||||||||||uppppppppppppppppppppppppppppppppnz||rppppppppuwwwwspppppppppppppppuwwwwwwpppppppppprwwwwwwupppppppppppppppppppppppppppppppppppppppswwwwrpppppppppppppuwwwwpppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppnddddddddddd||dddddddddddddddppppppppppu||||||||||||rppppppppppppppppppppppppppppppnz||uppppppprwwwurpppppppppppppppppwwwwwwuppppppppppprwwwwwwrppppppppppppppppppppppppppppppppppppppuwwwwppppppppppppppuwwwwpppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppidddddddddd|_b|dggdddddddddddppppppppppnv||||||||||||npppppppppppppppppppppppppppppu||unpppppruwwwrpppppppppppppppppppwwwwwwsppppppppppppuwwwwwwpppppppppppppppppppppwwwupppppppppppppuwwwwppppppppppppppwwwwupppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdddddddddd|__b|bvzfdddddddddpppppppppppk||||||||||||vppppppppppppppppppppppppppppu||znppppprwwwupppppppppppppppppppprwwwwwwrpppppppppppppwwwwwwspppppppppppppppppppswwwspppppppppppppwwwwuppppppppppppprwwwwupppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddddddddd||b__|idduuddddddddppppppppppppr||||||||||||vnpppppppppppppppppppppppppr||zkppppprwwwrpppppppppppppppppppppuwwwwwwppppppppppppppuwwwwwupppppppppppppppppppwwwwppppppppppppprwwwwupppppppppppppswwwwspppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdddddddd|bb|__|dumdividdddddpppppppppppppu||||||||||||rppppppppppppppppppppppppk|||kppppprwwwpppppppppppppppppppppppuwwwwwuppppppppppppppswwwwwupppppppppppppppppprwwwupppppppppppppswwwwspppppppppppppuwwwwrpppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddaaaddd|__|b_utxrviduvfddddpppppppppppppnv||||||||||||kppppppppppppppppppppppnv||uppppprwwwrpppppppppppppppppppppppwwwwwwupppppppppppppprwwwwwwppppppppppppppppppswwwspppppppppppppuwwwwrpppppppppppppuwwwwppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdddaaaaab|_b|__uxxx|vdfvmdddppppppppppppppk||||||||||||vnppppppppppppppppppppnv||uppppppuwwrppppppppppppppppppppppprwwwwwwrpppppppppppppppwwwwwwppppppppppppppppppwwwwrpppppppppppppuwwwwppppppppppppppwwwwuppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppghlhhfddd|_b__b_|xxtutvmdmvgdpppppppppppppppr||||||||||||uppppppppppppppppppppr||vnppppprwwuppppppppppppppppppppppppswwwwwwppppppppppppppppwwwwwwppppppppppppppppprwwwwppppppppppppppwwwwuppppppppppppprwwwwuppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgyyyyyyyg|b_____|xxuxxxrvidigppppppppppppppppu||||||||||||rppppppppppppppppppu||znppppppuwwrppppppppppppppppppppppppuwwwwwuppppppppppppppprwwwwwupppppppppppppppppruuusppppppppppppprwwwwupppppppppppppswwwwsppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddiiddgdfvooooo|xtuxxxxtvfddppppppppppppppppnv||||||||||||rppppppppppppppppk|||kpppppprwwwpppppppppppppppppppppppppwwwwwwupppppppppppppppswwwwwupppppppppppppppppppppppppppppppppppswwwwspppppppppppppuwwwwpppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdi{{{{kgoccceccvruxxxxxufdddpppppppppppppppppnz||||||||||||nppppppppppppppk|||upppppppswwupppppppppppppppppppppppprwwwwwwrpppppppppppppppuwwwwwrpppppppppppppppppppppppppppppppppppuwwwwrpppppppppppppwwwwwpppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddddfoooccccccccooorxxtuddddppppppppppppppppppk||||||||||||vnppppppppppppnv||uppppppppuwwuppppppppppppppppppppppppswwwwwwppppppppppppppppwwwwwuppppppppppppppppppppppppppppppppppppuwwwwppppppppppppppwwwwupppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdeccocccccccccccccccrxofddddpppppppppppppppppppu||||||||||||uppppppppppppu||vnppppppppuwwwppppppppppppppppppppppppuwwwwwupppppppppppppppuwwwwwrppppppppppppppppppppppppppppppppppppwwwwuppppppppppppprwwwwupppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdeccoccccccccccccccccmcoddddppppppppppppppppppppu||||||||||||rppppppppppr||vnpppppppppuwwwspppppppppppppppppppppppuwwwwwupppppppppppppprwwwwwupppppppppppppppppppppppppppppppppppprwwwwupppppppppppppswwwwrpppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdddfooccccccccccccccoccoddddppppppppppppppppppppnv|||||||||||znppppppppk|||kppppppppppswwwwpppppppppppppppppppppppwwwwwwsppppppppppppppuwwwwwpppppppppppppppppppppppppppppppppppppswwwwspppppppppppppuwwwwppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddfmccccccccccccccccccccjdddpppppppppppppppppppppk||||||||||||vpppppppnz||kppppppppppppuwwwwppppppppppppppppppppprwwwwwwppppppppppppppuwwwwwppppppppppppppppppppppppppppppppppppppuwwwwrpppppppppppppwwwwwppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddooccccccccccccccccccccciddppppppppppppppppppppppr||||||||||||vnppppnv||upppppppppppppruuuuuppppppppppppppppppppswwwwwwpppppppppppppuwwwwupppppppppppppppppppppppppppppppppppppppuwwwwppppppppppppppwwwwuppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddoccccccccccccccccccccccmddpppppppppppppppppppppppu||||||||||||rppppu||unpppppppppppppppppppppppppppppppppppppppuwwwwwupppppppppppruwwwwsppppppppppppppppppppppprssppppppppppppppwwwwuppppppppppppprwwwwsppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddocccccccccc||||ccccccccmddpppppppppppppppppppppppnv|||||||||||zpppm||znppppppppppppppppppppppppppppppppppppppppwwwwwwurppppppppsuwwwwurppppppppppppppppppppppruwwwppppppppppppprwwwwupppppppppppppswwwwrppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddocc||||ccc|____|cccccccoddppppppppppppppppppppppppk|||||||||||rppk||vnpppppppppppppppppppppppppppppppppppppppprwwwwwwwwwwuuuuwwwwwwurpppppppppppppppppppppppswwwwwpppppppppppppswwwwrpppppppppppppuwwwwpppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddmc|____|c|_____|cccccocjddpppppppppppppppppppppppppr|||||||||vppk|||rpppppppppppppppppppppppppppppppppppppppppswwwwwwwwwwwwwwwwwwwwrpppppppppppppppppppppppuwwwwwwpppppppppppppuwwwwppppppppppppppwwwwwpppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgdddiv____|c|______||||cocdddppppppppppppppppppppppppppu|||||||unpnv||rppppppppppppppppppppppppppppppppppppppppppuwwwwwwusrrruuwwwwwwwwurppppppppppppppppppppuwwwwwwupppppppppppppuwwwwppppppppppppppwwwwupppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddddv_____||______|_boomidddpppppppppppppppppppppppppppu|||||znppu||znppppppppppppppppppppppppppppppppppppppppppuwwwwwsppppppppruwwwwwwwsppppppppppppppppppwwwuwwwwupppppppppppppwwwwuppppppppppppprwwwwspppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppgddjmv_____||______|b_omdddddpppppppppppppppppppppppppppnz||||kppu||||nppppppppppppppppppppppppppppppppppppppppppwwwwwwrppppppppppruwwwwwwuppppppppppppppppwwwpswwwwrpppppppppppprwwwwspppppppppppppuwwwwrpppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppoo|_____|_|___bbvmmmmoooppppppppppppppppppppppppppppppr|||rppr|||||vnpppppppppppppppppppppppppppppppppppppppprwwwwwwpppppppppppppuwwwwwwuppppppppppppppuwuppuwwwwpppppppppppppswwwwrpppppppppppppuwwwwppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppo_||___|_b|____|_oobob_opppppppppppppppppppppppppppppnv||uppk|||||||uppppppppppppppppppppppppppppppppppppppppswwwwwuppppppppppppppswwwwwwuppppppppppppuwupppwwwwupppppppppppppuwwwwppppppppppppppwwwwuppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppob_b|||_b_b||||_ooo_b_oopppppppppppppppppppppppppppppu||znpnz||||||||rpppppppppppppppppppppppppppppppppppppppuwwwwwupppppppppppppppswwwwwwspppppppppppwuppprwwwwupppppppppppppwwwwwppppppppppppppwwwwuppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppoooo``obob_b_b_o``ob_bopppppppppppppppppppppppppppppr||vkpnu||||||||||kppppppppppppppppppppppppppppppppppppppwwwwwwrppppppppppppppppuwwwwwwrpppppppppppppppswwwwrpppppppppppppwwwwuppppppppppppprwwwwsppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppo```o_bob_b_o```o_b_oppppppppppppppppppppppppppppk|||kppu|||||||||||vnpppppppppppppppppppppppppppppppppppprwwwwwwppppppppppppppppppwwwwwwupppppppppppppppuwwwwppppppppppppprwwwwspppppppppppppuwwwwrppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppo```o_b_b_o````ooooopppppppppppppppppppppppppppkz||rpppr||||||||||||vnpppppppppppppppppppppppppppppppppppswwwwwwppppppppppppppppppswwwwwwrppppppppppppppwwwwupppppppppppppswwwwrpppppppppppppuwwwwpppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppo````o_b_oo``````oopppppppppppppppppppppppppppnv||upppppu||||||||||||rpppppppppppppppppppppppppppppppppppuwwwwwupppppppppppppppppppwwwwwwuppppppppppppprwwwwupppppppppppppuwwwwppppppppppppppwwwwupppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppo``o`ooo```````ooppppppppppppppppppppppppppppv||uppppppnv||||||||||||kppppppppppppppppppppppppppppppppppwwwwwwspppppppppppppppppppuwwwwwwpppppppppppppswwwwrpppppppppppppwwwwuppppppppppppppwwwwupppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppo`o`o``o``````oppppppppppppppppppppppppppppu||znpppppppnz|||||||||||zkpppppppppppppppppppppppppppppppppwwwwwwrppppppppppppppppppprwwwwwwsppppppppppppuwwwwppppppppppppppwwwwuppppppppppppprwwwwspppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppo`o`o`o``````oppppppppppppppppppppppppppppk|||kpppppppppk||||||||||||vpppppppppppppppppppppppppppppppprwwwwwwpppppppppppppppppppppwwwwwwuppppppppppppwwwwuppppppppppppprwwwwspppppppppppppuwwwwrpppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppo``oo`o``````opppppppppppppppppppppppppppkz||kpppppppppppu||||||||||||upppppppppppppppppppppppppppppppuwwwwwupppppppppppppppppppppwwwwwwuppppppppppprwwwwupppppppppppppuwwwwrpppppppppppppuwwwwppppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppo``ooo```````oppppppppppppppppppppppppppnv||upppppppppppppu||||||||||||rppppppppppppppppppppppppppppppuwwwwwupppppppppppppppppppppuwwwwwupppppppppppswwwwrpppppppppppppuwwwwppppppppppppppwwwwuppppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppo```oo```````oppppppppppppppppppppppppppv||uppppppppppppppnz||||||||||||npppppppppppppppppppppppppppppwwwwwwrpppppppppppppppppppppuwwwwwupppppppppppuwwwwppppppppppppppwwwwuppppppppppppprwwwwuppppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppo```o````````opppppppppppppppppppppppppu||vnpppppppppppppppk||||||||||||vkppppppppppppppppppppppppppprwwwwwwppppppppppppppppppppppwwwwwwupppppppppppwwwwuppppppppppppppwwwwupppppppppppppswwwwrppppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppo```o```````ooppppppppppppppppppppppppr|||npppppppppppppppppr||||||||||||upppppppppppppppppppppppppppswwwwwwppppppppppppppppppppppwwwwwwupppppppppprwwwwsppppppppppppprwwwwspppppppppppppuwwwwpppppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppppooooooooooooppppppppppppppppppppppppk|||rpppppppppppppppppppu||||||||||||uppppppppppppppppppppppppppuwwwwwuppppppppppppppppppppprwwwwwwrppppppppppswwwwrpppppppppppppuwwwwrpppppppppppppuwwwwpppppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppppppo``````````oppppppppppppppppppppppnv||rppppppppppppppppppppnv||||||||||||kpppppppppppppppppppppppppwwwwwwspppppppppppppppppppppswwwwwwpppppppppppuwwwwppppppppppppppuwwwwppppppppppppppwwwwupppppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppoopo``oo`````ooopppppppppppppppppppppv||vppppppppppppppppppppppk||||||||||||vnppppppppppppppppppppppprwwwwwwrpppppppppppppppppppppwwwwwwupppppppppppwwwwuppppppppppppppwwwwuppppppppppppppwwwwupppppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppoooo````oooo`ooooppppppppppppppppppppu||vnpppppppppppppppppppppppr||||||||||||vnppppppppppppppppppppppswwwwwwppppppppppppppppppppprwwwwwwrpppppppppprwwwwuppppppppppppppwwwwuppppppppppppprwwwwrpppppppppppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppoooooo``oppoooooopppppppppppppppppppr||zkpppppppppppppppppppppppppu||||||||||||rppppppppppppppppppppppuwwwwwwpppppppppppppppppppppuwwwwwupppppppppppswwwwrppppusppppppprwwwwspppppppuuppppuwwwwrpppppppurppppppppppppppppppppppppppppppppppppppppp", "ppppppppppppppppppooooooooppoooooopppppppppppppppppppk|||kpppppppppppppppppppppppppppu||||||||||||rpppppppppppppppppppppwwwwwwuppppppppppppppppppppuwwwwwwrpppppppppppuwwwwppppuwupppppppswwwwrpppppruwsppppuwwwwpppppprwwrppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppoooooooppooooooppppppppppppppppppkz||rppppppppppppppppppppppppppppnz|||||||||||zkppppppppppppppppppprwwwwwwupppppppppppppppppppswwwwwwsppppppppppppuwwwwpppuwwppppppppuwwwwrppppswwspppppuwwwwpppppuwwrppppppppppppppppppuuuupppppppuuppppppppppp", "ppppppppppppppppppppppoooppppoooopppppppppppppppppppv||uppppppppppppppppppppppppppppppk||||||||||||vpppppppppppppppppppuwwwwwwuppppppppppppppppppswwwwwwupppppppppppppwwwwuppuwwpppppppppuwwwwsppruwwrppppppuwwwwrppswwwpppppppppppppppppppuuppuuppppuuuuppppppppppp", "ppppppppppppppppppppppppppppppppppppppppppppppppppnu||vnpppppppppppppppppppppppppppppppu||||||||||||uppppppppppppppppppwwwwwwwwrppppppppppppppppuwwwwwwuppppppppppppppwwwwurwwwppppppppppuwwwwwsuwwwppppppppwwwwwuswwwuppppppppppppuupppuupppppuuppppppuuppppppppppp", "ppppppppppppppppppppppppppppppppppppppppppppppppppu||zkpppppppppppppppppppppppppppppppppu||||||||||||rppppppppppppppppwwwwwwwwwwppppppppppppppuwwwwwwwspppppppppppppprwwwwwwwwpppppppppppuwwwwwwwwupppppppppwwwwwwwwwspppppppppppppuupppuuppppuupppppppuuppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppppr|||rppppppppppppppppppppppppppppppppppnz||||||||||||npppppppppppprswwwwwwwwwwwwurppppppprsuwwwwwwwwrppppppppppppppprwwwwwwuppppppppppppuwwwwwwwsppppppppppwwwwwwwwrpppppppppppppppuupuuppppuuppppppppuuppppppppppp", "ppppppppppppppppppppppppppppppppppppppppppppppppk|||rppppppppppppppppppppppppppppppppppppkz|||||||||||vkppppppruuuwwwwwwwwwwwwwwwwwwwuuuwwwwwwwwwwwsppppppppppppppppppwwwwwupppppppppppppswwwwwurpppppppppppuwwwwwupppppppppppppppppuupuupppuupppppppppuuppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppnuzzuppppppppppppppppppppppppppppppppppppppr|||vzzzzzzv|uppppppwwwwwwwwwuuuuuuwwwwwwwwwwwwwwwwwwwurppppppppppppppppppppuwwwrpppppppppppppppuwwwrppppppppppppppwwwurpppppppppppppppppppuuupppuuppppppppppuuppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppruusrrpppppppppppppppprrrrrsuuusrpppppppppppppppppppppppppssppppppppppppppppppsspppppppppppppppppsrpppppppppppppppppppppuuupppuupppppuupppuuppppppppppp", "ppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppuppppuuuuuupuupppuuppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp", "pppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppppp"}; xbill-2.1/pixmaps/maccpu.xpm0100644000076400007640000000545207363174040016360 0ustar bwellingbwelling/* XPM */ static char * maccpu_xpm[] = { "55 45 10 1", " c None", ". c #888888", "X c #bbbbbb", "o c #cccccc", "O c #000000", "+ c #eeeeee", "@ c #999999", "# c #666666", "$ c #669933", "% c #cc0033", " .............................. ", " .XooooooooooooooooooooooooooooX. ", " .XooooooooooooooooooooooooooooooX. ", " .oX............................Xo. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. ................ ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o+++oooX@Xoo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. ..............X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o++.#####+oo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. ..............X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o+++oooX@Xoo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o+++oooX@Xoo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o+++oooX@Xoo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o+++oooX@Xoo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o+++oooX@Xoo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .oo+ +oooXXXo.X. ", " .o.OOOOOOOOOOOOOOOOOOOOOOOOOOOO.o. .o+++oooX@Xoo.X. ", " .oX............................Xo. .oo+ +oooXXXo.X. ", " .oooooooooooooooooooooooooooooooo. .o+++oooX@Xoo.X. ", " .Xoooooooooooooo$%ooooooooooooooX. .oo+ +$%oXXXo.X. ", " .XooooooooooooooooooooooooooooX. .o+++oooX@Xoo.X. ", " ......XXXXXXXXXXXXXXXXXX...... .oo+ +oooXXXo.X. ", " ###..@@@@@@@@@@@@..### .o+++oooX@Xoo.X. ", " ###################### ................ ", ".................................... ", ".o+++++++++++++++++++++++ooooo++++o.. ... ", ".o+++++++++++++++++++++++oo+oo++++o. .. . . ", ".o+++++++++++++++++++++++o+++o++++o. ... .... ", ".o@@@@@@@@@@@@@@@@@@@@@@@o@@@o@@@@o. .+X. ", ".oooooooooooooooooooooooooooooooooo. .X+XX. ", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. .+ooX. ", ".................................... .+ooX. ", " .o+oX. ", " .... "}; xbill-2.1/pixmaps/next.xpm0100644000076400007640000000167407363174040016070 0ustar bwellingbwelling/* XPM */ static char * next_xpm[] = { "28 24 9 1", " c #c3c3c3", ". c #828282", "X c #000000", "o c #ffff9e", "O c #ffbe5d", "+ c #ffbe7d", "@ c #ff0000", "# c #00ff00", "$ c #3c9e3c", " .XXX ", " .XXXXXX. ", " .XXXXXoooXX ", " .XXXOXXXoXXoXX. ", " .XXXXXXXOXXoooXXXX ", " .X+OOXXXOXXoXXXoXX. ", " X.X+X+OOXOXXoooXXXX ", " X.XXOXXXOOOXXXXX@@@. ", " XX.X+XXXXX+XX@@@XXXX ", " .XX.XX+XXXXX#@XXX@XXX. ", " XXXX.X$#XXX#$XXXX@XXXX ", " XXXX.XX$#$$#XXXXXX@XXX. ", " XXXXX.XXXX#$#XXXXX@XXX. ", " XXXXX.XXXX#$X$#$XXXX. ", " .XXXXX.XX#$XXXXXX. .XX. ", " XXXXX.XX#XXXX. .XXXXX ", " .XXXXX.XXX. .XXXXXXXX ", " XXXXX.X..XXXXXXXXXXX ", " .XXXXX.XXXXXXXXXXXX. ", " XXXXX XXXXXXXXXXXX ", " .XXXX.XXXXXXXXXXXX ", " XXX.XXXXXXXXXX. ", " .XX XXXXXXX. ", " XX XXXX. "}; xbill-2.1/pixmaps/nextcpu.xpm0100644000076400007640000000535607363174040016601 0ustar bwellingbwelling/* XPM */ static char * nextcpu_xpm[] = { "55 45 6 1", " c None", ". c #333333", "X c #000000", "o c #669933", "O c #cc0033", "+ c #555555", " ................................ ", " ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. ", " .X..............................X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. ...................", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXXXXXXXXXXXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXX.......XXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXXXXXXXXXXXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXX.......XXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXXXXXXXXXXXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXX.......XXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXXXXXXXXXXXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXX.......XXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXXXXXXXXXXXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXX.......XXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXXXXXXXXXXXXXX.", " .X.XXXXXXXXXXXXXXXXXXXXXXXXXXXX.X. .XXXXX.......XXXXX.", " .X..............................X. .XXXXXXXXXXXXXXXXX.", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. .XXXXX.......XXXXX.", " .XXXXXXXXXXXXXXXoOXXXXXXXXXXXXXXX. .XXXXXXXXXXXXXXXXX.", " ..XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.. .XXXXX.......XXXXX.", " ................................ .XXXXXXXXXXXXXXXXX.", " XXXXXXXXXXXX .XXXXX.......XXXXX.", " ......XXXXXXXXXXXX...... ...................", " XXXXXXXXXXXXXXXXXXXXXXXX ", " .................................... ... ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. .. . . ", " .X.....................XXXXX....X. ... ..... ", " .X.....................XX.XX....X. .X.X. ", " .X.....................X...X....X. ..... ", " .X+++++++++++++++++++++X+++X++++X. .XXX. ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. .XXX. ", " .................................. .XXX. ", " ..... "}; xbill-2.1/pixmaps/os2.xpm0100644000076400007640000000163507363174040015612 0ustar bwellingbwelling/* XPM */ static char * os2_xpm[] = { "28 24 7 1", " c #000000", ". c #3c9e3c", "X c #7dff3c", "o c #7dff5d", "O c #5ddf5d", "+ c #5dff5d", "@ c #7ddf5d", " .XX. ", " XXX..XXX ", " XX.. ..XX ", " .X. .X. ", " .X X. ", " X X ", " X. o .X ", " X o X ", " X. .oo. .oo. .o.o. .X ", " X. o o o o O.o o .X ", " .X o o o o o +. ", " X. o o .o. .o .o .X ", " X. o o .o. O. .o .X ", " .X o o o o .o X. ", " X. o o o o.o @ .X ", " X. .oo. .oo.O. @ooo .X ", " X o X ", " X. o .X ", " X X ", " .X X. ", " .X. .X. ", " XX.. ..XX ", " XXX..XXX ", " .XX. "}; xbill-2.1/pixmaps/os2cpu.xpm0100644000076400007640000000543207363174040016321 0ustar bwellingbwelling/* XPM */ static char * os2cpu_xpm[] = { "55 45 9 1", " c #888888", ". c None", "X c #cccccc", "o c #bbbbbb", "O c #000000", "+ c #eeeeee", "@ c #666666", "# c #555555", "$ c #999999", " ...................", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...................", " XooooooooooooooooooooooooooooooooX ...................", " Xo oX ...................", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ...................", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX ...................", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +++++++++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +ooooooooooo+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +ooo ooo+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +oooo o+oo+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +oo+oooooooo+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +o + o+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +oo+o oooo+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +ooooooooooo+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +++++++++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. ++++++++++ + ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. ++++++++++oo+ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +++++++++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +++++++++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. + + ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. + o o o + ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. + + ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. +++++++++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. + + + +++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. + + + +++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. + + + +++++++ ..", " Xo OOOOOOOOOOOOOOOOOOOOOOOOOOOO oX .. + + + ++++ + ..", " Xo oX .. + + + ++++ + ..", " XooooooooooooooooooooooooooooooooX .. + + + +++++++ ..", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX .. ..", " .. X X X XXXXXoX ..", "... @ @ @ @ @ @ @ @ @ @ @ @ @ @ @..... X X X XXXXXXX ..", "... @ @ @ @ @ @ @ @ @ @ @ @ @ @ @..... ..", "......##@@@@@@@@@@@@@@@@@@@@##......... ...", "......#####@@@@@@@@@@@@@@#####.........................", " ...... .........", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX . ... ... ........", " Xo+++++++++++++++++++oooXXXXXooooX ... .. .....", " Xoo+++++++++++++++++++ooXXoXX+++oX ........ oo o .....", " Xoooo+++++++++++++++ooooXoooX+++oX ........ .....", " X$$$$$$$$$$$$$$$$$$$$$$$X$$$X$$$$X ........ oooo .....", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ........ oooo .....", " oooooooooooooooooooooooooooooooooo ........ oooo .....", " ........ ....."}; xbill-2.1/pixmaps/palm.xpm0100644000076400007640000000160007364635654016046 0ustar bwellingbwelling/* XPM */ static char * palm_xpm[] = { "28 24 5 1", " c #FFFFFF", ". c #CEDAE6", "X c #4674A2", "o c #F9FAFB", "O c #7698BA", " .XX.o.OXOo ", " OOOOXXXXOOXXXOOOOOOO ", " ooooOXXO..XXX.oooooo ", " .OO. o.OOo ", " o..o oooo.. ", " .XX.o oOXX. ", " OOOOXXXXOOOOOXXXXOOO ", " OXXO. XXX. ", " .OO. .OOo ", " o..o oo..ooo ", " o.XXOo.OXX. ", " OOOOXXXXOXXXXXOOOOOO ", " OXXOo.XXX. ", " o.O. o.O.o ", " .OO. ", " ooo.OXXX.ooooooooooo ", " OOOOXXXXOOOOOOOOOOOO ", " .XX.o ", " o..o ", " .OO. ", " ooo.OXXX.ooooooooooo ", " OOOOXXXXOOOOOOOOOOOO ", " oooo.XX.oooooooooooo ", " "}; xbill-2.1/pixmaps/palmcpu.xpm0100644000076400007640000000551107367110463016550 0ustar bwellingbwelling/* XPM */ static char * palmcpu_xpm[] = { "55 45 12 1", " c None", ". c #E3DDE2", "X c #B7B2BE", "o c #8B9084", "O c #63636B", "+ c #525452", "@ c #737384", "# c #171C1C", "$ c #000000", "% c #394231", "& c #424A4A", "* c #637B52", " XXXXXXXXXXXXXXXXXXXXXXXXXXooO+O@oO###@ ", " XXXXXXXXXXXXXXXXXXXXXXXXXXooooooo#$$%@ ", " XXXXXXXXXXXXXXXXXXXXXXXXooooo@@@@O+&#@ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$oO++#@ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$oO+&#@ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#@ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@&&%@ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@&&#O $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#O $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#O $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#O $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#+ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#+ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+&#+ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+%#+ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+&#+ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+&#& $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@&&#& $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+&#+ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+&#+ $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+%#& $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+&#& $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#& $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$*@+&#& $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#% $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#% $$ ", " XXXX$$$$$$$$$$$$$$$$$$$$$$$$$$$$o@+&#% $$ ", " XXXX++$++***********+*******&%%*o@+&#% $$ ", " XXXX&+&$#+******************$#%+o@+&#% $$ ", " XXXX&*+++*******************+%&+o@+&#% $$ ", " XXXX&**+************************o@+&## $$ ", " XXXX&+$+$+******************$%%%oO+&## $$ ", " XXXX&*$##*******************%#$+oO+&## $$ ", " XXXX#+%%**++**************+**#&*oO+&## $$ ", " XXXX+@O&+&#%+++*****+****+%+*+++oO+&## $$ ", " XXXXXXXXXXXXXXXXXXXXXXooXooooo@@@O+&## $$ ", " XXXXXXXXXXXXXXXXXXXXXooooo@@@@OOO++&## $$ ", " X..X+#OXXXXXXXXXXo@ooooo@@@@@O&&@O+&#$ $$ ", " X..+$@@#.XO#$oXX#$$$&o@%$$o@%$OO$&O&%# $ ", " XXXX&%%OXX&$+$.X&$$$@o&$%%o@&$#@O&+&%# ", " XXXXXooXoX@$##XoO$$$@o+$%O+OO&$#&+&&&% ", " o@@ooooooooooooo#$$$%@@@OOOOO++++OOO+& ", " .X@O@@oooooooo%$$$+@@@@OOOOOO++&&%+o ", " .o@OOOO@@@oO+O@@@OOO++&%%&Oo. ", " .X@O++OO+&&&&&&@o.. "}; xbill-2.1/pixmaps/redhat.xpm0100644000076400007640000000152407363174040016353 0ustar bwellingbwelling/* XPM */ static char *redhat_xpm[] = { "28 24 2 1", " c #ff9ebe", ". c #ff0000", " ", " ", " ... ... ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .............. ", " .. .............. .. ", " ... .............. ... ", " ........................ ", " ...................... ", " .................. ", " ............ ", " "}; xbill-2.1/pixmaps/sgi.xpm0100644000076400007640000000157707363174040015676 0ustar bwellingbwelling/* XPM */ static char * sgi_xpm[] = { "28 24 5 1", " c #a6cbf3", ". c #7d9ebe", "X c #3c5d7d", "o c #a2a2a6", "O c #828282", " ", " .X XX ", " .XXX X.XX ", " .XXXoO oOX.XX ", " .XXX oO oO X.XX ", " .XX oO oO X.X ", " XX.X oO oO .XXX ", " XX.X oO oO .XXX ", " . XX.XO o.XXX . ", " .X.X XX...XXX .XXX ", " .XXX.X oXXXXO .XXX.X ", " .X XX.XOO oo.XXX .X ", " .X oXX.X .XXXo .X ", " .X ooOOO.X .XOOOoo .X ", " .XoOO .Xoo.X OOo.X ", " .XO oo.XOO.Xoo O.X ", " . ooOO.X .XOOoo . ", " .oOO .X .X OOo. ", " X.X .X .X .XX ", " XX.X .X .X .XXX ", " XX.X.X .X.XXX ", " XX.X .XXX ", " XX .X ", " "}; xbill-2.1/pixmaps/sgicpu.xpm0100644000076400007640000000545207363174040016402 0ustar bwellingbwelling/* XPM */ static char * sgicpu_xpm[] = { "55 45 10 1", " c None", ". c #666666", "X c #888888", "o c #000000", "O c #444444", "+ c #00ff00", "@ c #666699", "# c #996699", "$ c #bbbbbb", "% c #999999", " ................................ ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. ", " .XX............................XX. ", " .X.oooooooooooooooooooooooooooo.X. OOOOOOOOOOOOOOOOO ", " .X.oooooooooooooooooooooooooooo.X. O+@ @@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@@@OOOOOOOOO ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@@@@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@@@OOOOOOOOO ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@@@@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@@@OOOOOOOOO ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@@@@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. OOOOOOOOOOOOOOOOO ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@#O@@@@@@@@O ", " .X.oooooooooooooooooooooooooooo.X. OOOOOOOOOOOOOOOOO ", " .X.oooooooooooooooooooooooooooo.X. O@@@@@@@@@@@@@@@O ", " .XX............................XX. OOOOOOOOOOOOOOOOO ", " .XOXOOOOXXXXXXXXXXXXXXXXXXXXXXXXX. O@@@@@@@@@@@@@@@O ", " .XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. OOOOOOOOOOOOOOOOO ", " ................................ O@@@@@@@@@@@@@@@O ", " .XXXXXXXXXXXXXXXXX$$X. OOOOOOOOOOOOOOOOO ", " .XXXXXXXXXXXXXXXXXXXX. O@@@@@@@@@@@@@@@O ", " O....................O OOOOOOOOOOOOOOOOO ", " OOOOOOOOOOOOOOOOOOOOOO ", "....................................O OOO ", ".XOOXOOOOXXXXXXXXXXXXXXXXXXXXXXXXXX. OO O O ", ".X%%%%%%%%%%%%%%%%%%%%%%X...X%%%%.X. OOO OOOO ", ".X%%%%%%%%%%%%%%%%%%%%%%XOOOX%%%%.X. OOX.OO ", ".X...%%%%%%%%%%%%%%%%%%%XX.XX%%%%.X. O.X..O ", ".X..O..%%%%%%%%%%%%..O..X...X.....X. OXX..O ", ".XOOXOOOOOOOOOOOOOOOOXOOXOOOXOOOOOX. OXX..O ", ".XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX. O.XX.O ", ".................................... OOOO "}; xbill-2.1/pixmaps/spark_0.xpm0100644000076400007640000000122607363174040016442 0ustar bwellingbwelling/* XPM */ static char * spark_0_xpm[] = { /* width height ncolors chars_per_pixel */ "20 20 4 1", /* colors */ " c None", ". c #DB6503", "X c #DC5D02", "o c #FBFE0F", /* pixels */ " .. ", " .. ", " .. . .. ", " X .. Xo. ", " .X XoX ", " XoX XoX ", " XooXooX ", " ... XoXoooX .. ", " ....XXXoooX XX ", " XoooooooX ", " XXoooooXX ", " XooooooX ", " XoooXXXo.. ", " XX XooX .... ", " .X .oX ", " .o. ", " .. ", " .. X ", " . X ", " . "}; xbill-2.1/pixmaps/spark_1.xpm0100644000076400007640000000122607363174040016443 0ustar bwellingbwelling/* XPM */ static char * spark_1_xpm[] = { /* width height ncolors chars_per_pixel */ "20 20 4 1", /* colors */ " c None", ". c #DB6503", "X c #DC5D02", "o c #FBFE0F", /* pixels */ " . ", " X ", " . . . ", " X .. . .", " .X .. ", " XoX XoX ", " .ooX X.oX ", " XoooXXooX ", " .ooooooX ", " ....XX.XoooooX ", " X.XooooooooX ", " .XXoooo. ", " XoooX XX ", " .X Xoo. .. ", " . Xo. ", " .oX ", " X XoX ", " . X. ", " . .. ", " . "}; xbill-2.1/pixmaps/sun.xpm0100644000076400007640000000154107363174040015710 0ustar bwellingbwelling/* XPM */ static char * sun_xpm[] = { "28 24 3 1", " c #dfdfbe", ". c #a6cbf3", "X c #5d5dbe", " . ", " XXX. ", " X. X. ", " X. X. X. ", " . X. X. X. ", " X. X. X. X ", " . X. X. X. X ", " .X X. X X. ", " .X .X X.X. X. X. ", " .X .X XX X. X. . ", " .X .X .XX X. X. XXX ", " X .X .X X. .X X. X. X ", " XXX .X .X XX. X. X. ", " . .X .X XX X. X. ", " .X .X .X.X X. X. ", " .X X .X X. ", " X .X .X .X . ", " X .X .X .X ", " .X .X .X . ", " .X .X .X ", " .X .X ", " .XXX ", " . ", " "}; xbill-2.1/pixmaps/suncpu.xpm0100644000076400007640000000537407363174040016430 0ustar bwellingbwelling/* XPM */ static char * suncpu_xpm[] = { "55 45 7 1", " c #bbbbbb", ". c None", ", c #ffffff", "X c #eeeeee", "o c #000000", "O c #336699", "+ c #666666", " ...................", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...................", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ...................", " XX XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...................", " XX oooooooooooooooooooooooooooo XX ...... ...", " XX oooooooooooooooooooooooooooo XX ...... XXXXX XX ...", " XX oooooooooooooooooooooooooooo XX ...... XXOXX XX ...", " XX oooooooooooooooooooooooooooo XX ...... XOXOX XX ...", " XX oooooooooooooooooooooooooooo XX ...... XXOXX XX ...", " XX oooooooooooooooooooooooooooo XX ...... XXXXX XX ...", " XX oooooooooooooooooooooooooooo XX ...... XXXXX XX ...", " XX oooooooooooooooooooooooooooo XX ...... XXXXX XX ...", " XX oooooooooooooooooooooooooooo XX .....O XXXXX +X ...", " XX oooooooooooooooooooooooooooo XX .....O XXXXX +X ...", " XX oooooooooooooooooooooooooooo XX .....O XXXXX +X ...", " XX XX .....O XXXXX +X ...", " XXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ....OO XXXXX +X O..", " XXOXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ....OO XXXXX XX O..", " XXXOXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ....OO XXXXX XX O..", " ....OO O..", "........................................OOOOOOOOOOOOO..", ".......................................................", " ...................", " X,,X,,,,,,,,,,,,,,,,,,,X,,,X,,,,,X ..OXOX OXOXO...", " X,,X,,,,,,,,,,,,,,,,,,,X,,,X,,,,,X . XOX X XO..", " X,,X,,,,,,,,,,,,,,,,,,,X X,,,,,X ..X XO XXXXX OX..", " X,,X,,,,,,,,,,,,,,,,,,,XX,XX,,,,,X ..OXOXOX X X X XO..", " X,,X,,,,,,,,,,,,,,,,,,,X,,,X,,,,,X ..XOXOXO X X X OX..", " X X X X X ..OXOXOX XXXXX XO..", " XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX ..XOXOXO XXXXX OX..", " ..OXOXOX XXXXX XO..", "OOOO...........................OOOOO...OXOXO O..."}; xbill-2.1/pixmaps/toaster.xpm0100644000076400007640000000566307363174040016575 0ustar bwellingbwelling/* XPM */ static char* toaster_xpm[] = { "55 45 16 1", "_ c #ffffff", "` c #efefef", "a c #dedede", "b c #cecece", "c c #bdbdbd", "d c #8c8c8c", "e c #737373", "f c #292929", "g c #e7a59c", "h c #ce3100", "i c #de9c73", "j c #9c4a18", "k c #de7329", "l c #a57318", "m c #d62131", "n c #000000", "_______________________________________________________", "_______________________________________________________", "_______________________________________________________", "_______________________________________________________", "_______________________________________________________", "________________``_____________________________________", "_____________`aecdfg`fdgcceec__________________________", "____________`eg_`ejjd___`afjjjcedc`____________________", "___________ce_ajjhhk`a`ggjhhhjdccged`__________________", "_________`de`ijjhkbbabgmhhhkb`a`_`_ce__________________", "_________ebamjjlkgbbajhhhhdaaa```````e_________________", "________e`agjhkiaabbmhhhhcaba``debcaaae________________", "_______fcajjjigaaacjhhhfaaaa`adcccbabbde_______________", "______f``ijhjgaaabghhhjaa`daccca`_`__`bf_______________", "_____fb`bjhjg`a`bgmhhj```fdbb``````````ad`_____________", "_____d`ajjhi```acmhhk`_`edbb`````_`_```ada_____________", "____ee`ajhkl```aimhhc`_aebb````__`___``adc_____________", "____f``jjhi````amhhl`_`dec```________`a`ec_____________", "___ec``mhlg____gmhhe`_adca``________```beedc___________", "___fa_ajlkd___`imhj`__aeca_________``bccddffe__________", "___f`_gjhi`___amhhj`_`dbb`________`acccbcdfng__________", "___e``gjkb____bhhhe`_abca________abbbbbbcdnf___`cgenf__", "__c``gjhlc____ihhl`__acb________abaccbabbefa__fdefnffff", "__d``acgg`___`mhkl`_`dc`______`ababa```a`da_`ddfn__fdee", "__e`_________`bnne`_aeb`_____`acaba___``ae_dddf______ae", "__e`_____________`__bc`_____abcaaa____``dfnfn________ed", "__d`_______________`cc`____accba``____`cfnn__`cbb`__`de", "__d`_______________aeaa`_`ccca```____`cdf``_edfeffn`cfn", "__c_______________`bf````bcba```____`gdnnaaedfnnnnnnfn_", "__ba_aaa``_______`abe``abbbb```____adcnnfaadfn____n_nn_", "_g`b`abbbcbaaa``a`adc``cbbaa``____adennnn`cen_``_______", "_daba``````aabbbbbaec`bcc`a```___bden`fn__be_fdffnc____", "_ebbaaaaaaa````bcbcecbbcaaa``__`cdeeaaa___fe_efnnnnd___", "_fefnfe``ba`aaa`bcaeccccaa``__`cdfeaaa`____fffna__fnd__", "`fnnnnnnnnffb`aabcbecacaaa``_agdfdaaa_______nnn____ng__", "ffnnnnnnnnnnnnnneacegacaa``_adcfcaaa_______fnnnnd_eng__", "eeffffnnnnnnnnnffebfdbcab_`bdef`aa`_______enffnnnnnc___", "fnnffffffffffnnnneafcccb``cdefaaa`_______dnfffnnn`a____", "ennnnnnnnnnfffnnnfafcaab`cdffaaa`________nnfffnnnn_____", "_fdeeeefnnnnnnnnnfacc`aacgfeaaa`_________nffffnnnn_____", "_`beedddddddefnnnfacc`adcf`aaa___________nffffnnnn_____", "___`nnnnfeeddddddeccbaden`aaa____________nncdcgcfn_____", "__aafnnn_a``nnfegdddcden`aa`_____________eccjgjccd_____", "__`aaeff``aaaa`nnnnfnn_`aa`_______________fcjgjcf______", "___`aaaaaaaaaaaannnnn_`a``________________gnlflfd______"}; xbill-2.1/pixmaps/wingdows.xpm0100644000076400007640000000243207363174040016744 0ustar bwellingbwelling/* XPM */ static char * wingdows_xpm[] = { "28 24 32 1", " c #cccccc", ". c #000000", "X c #555555", "o c #dddddd", "O c #aaaaaa", "+ c #333333", "@ c #111111", "# c #bbbbbb", "$ c #888888", "% c #444444", "& c #666666", "* c #999999", "= c #222222", "- c #ff9999", "; c #33cccc", ": c #00ffff", "> c #339999", ", c #ff6666", "< c #336666", "1 c #33ffff", "2 c #777777", "3 c #99ff99", "4 c #66ff66", "5 c #99cc99", "6 c #33ff33", "7 c #00ff00", "8 c #9999cc", "9 c #0000ff", "0 c #006666", "q c #cccc99", "w c #cccc66", "e c #003333", " .. ", " .Xo. OO ", " .XXo.o+@# ", " ..oXX.$ XX ", " .oo.XX. %& *=* ", " ---.. .XX.oX%;:>=$ X+# ", " .--,,-o.Xo.XX<::1.+ #+2 ", "3435# .XoXXoX.::;<;=& 2=O ", "6677777O.oXXXXX.::X1::>=* $O", " 88 O ..XXXX.:;<::::;=# ", " 89999998.XXXXX.:01::::<# ", " ## ...oX.*<::::;< ", " qw%qqq :..:=<::::%# ", " q%=@@@@= X;:::;<;e;:;& ", " =::::<1:1><+ ", " * #=;:::;<::::>2 ", " .& 2<1::<1::::= ", " @.# <;;<::::>$ ", " O@O O@;::::= ", " O=# >>::>* ", " @X <;= ", " #=O 2X ", " $%# ", " #@O "};