diff options
author | Gethyn ThomasQuail <gethyn@XylemonsLaptop.localhost> | 2014-11-02 19:33:20 -0700 |
---|---|---|
committer | Gethyn ThomasQuail <gethyn@XylemonsLaptop.localhost> | 2014-11-02 19:33:20 -0700 |
commit | 344096b34b114d9ca68be1e438318d97d3b4fc1e (patch) | |
tree | f362cb370fffe94228ec51ca3289fae32d9bf45a | |
parent | 68a8c43e0b73f25909237479199388777abc4895 (diff) | |
download | xlennart-344096b34b114d9ca68be1e438318d97d3b4fc1e.tar.gz xlennart-344096b34b114d9ca68be1e438318d97d3b4fc1e.tar.bz2 xlennart-344096b34b114d9ca68be1e438318d97d3b4fc1e.zip |
Full game source.
116 files changed, 12592 insertions, 0 deletions
@@ -0,0 +1,393 @@ +#include <stdlib.h> + +#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; +} @@ -0,0 +1,41 @@ +#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 diff --git a/Bucket.c b/Bucket.c new file mode 100644 index 0000000..f8b747c --- /dev/null +++ b/Bucket.c @@ -0,0 +1,49 @@ +#include <util.h> + +#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; +} diff --git a/Bucket.h b/Bucket.h new file mode 100644 index 0000000..ad31a61 --- /dev/null +++ b/Bucket.h @@ -0,0 +1,19 @@ +#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 @@ -0,0 +1,151 @@ +#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()); +} @@ -0,0 +1,12 @@ +#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 diff --git a/ChangeLog b/ChangeLog new file mode 100644 index 0000000..ef319d1 --- /dev/null +++ b/ChangeLog @@ -0,0 +1,4 @@ +XLennart history: + +1.0 (29/10/2014): + - First release! A controversy is sure to broil! diff --git a/Computer.c b/Computer.c new file mode 100644 index 0000000..4db70fa --- /dev/null +++ b/Computer.c @@ -0,0 +1,103 @@ +#include <stdlib.h> + +#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", "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; +} diff --git a/Computer.h b/Computer.h new file mode 100644 index 0000000..fdd4449 --- /dev/null +++ b/Computer.h @@ -0,0 +1,23 @@ +#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 @@ -0,0 +1,340 @@ +#include <stdio.h> +#include <stdlib.h> +#include <unistd.h> +#include <string.h> +#include <time.h> + +#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, "Lenn:%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 ("XLennart version 1.0\n\n"); + exit(0); + } else if (strcmp(argv[1], "-h") == 0 || + strcmp(argv[1], "--help") == 0) + { + printf("XLennart version 1.0\n"); + printf("Options:\n"); + printf("-l <n>\tStart at level n.\n"); + printf("--gui <gui> \tUse a specific gui " + "(athena, motif, gtk)\n"); + printf("--size <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); +} @@ -0,0 +1,17 @@ +#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 @@ -0,0 +1,175 @@ +#include <stdlib.h> + +#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]; +} @@ -0,0 +1,23 @@ +#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 @@ -0,0 +1,14 @@ +To 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. diff --git a/Makefile.in b/Makefile.in new file mode 100644 index 0000000..ae5b438 --- /dev/null +++ b/Makefile.in @@ -0,0 +1,105 @@ +CC = @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}/xlennart\" +SCORE_DEFINES=-DSCOREFILE=\"${localstatedir}/xlennart/scores\" + +PROG = xlennart + +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/arch.xpm \ + pixmaps/icon.xpm pixmaps/centos.xpm pixmaps/logo.xpm \ + pixmaps/maccpu.xpm pixmaps/debian.xpm pixmaps/nextcpu.xpm \ + pixmaps/gentoo.xpm pixmaps/os2cpu.xpm \ + pixmaps/palm.xpm pixmaps/palmcpu.xpm pixmaps/mandriva.xpm \ + pixmaps/spark_0.xpm pixmaps/slackware.xpm pixmaps/suse.xpm \ + pixmaps/spark_1.xpm pixmaps/ubuntu.xpm pixmaps/suncpu.xpm \ + pixmaps/toaster.xpm pixmaps/initfail.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 = xlennart.6 + +all: ${PROG} + +xlennart: ${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}/xlennart + $(INSTALL_DATA) -m 0666 ${srcdir}/scores ${DESTDIR}${localstatedir}/xlennart + $(MKINSTALLDIRS) ${DESTDIR}${datadir}/xlennart + $(MKINSTALLDIRS) ${DESTDIR}${datadir}/xlennart/pixmaps + $(MKINSTALLDIRS) ${DESTDIR}${datadir}/xlennart/bitmaps + for i in ${XPMS}; do \ + ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${datadir}/xlennart/pixmaps ; \ + done + for i in ${XBMS}; do \ + ${INSTALL_DATA} ${srcdir}/$$i ${DESTDIR}${datadir}/xlennart/bitmaps ; \ + done + +distclean:: + rm -f config.cache config.h config.log config.status Makefile + +distclean clean:: + rm -f ${PROG} *.o + rm -f *core core* diff --git a/Network.c b/Network.c new file mode 100644 index 0000000..71c93ef --- /dev/null +++ b/Network.c @@ -0,0 +1,120 @@ +#include <stdlib.h> +#include <stdio.h> + +#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]; +} diff --git a/Network.h b/Network.h new file mode 100644 index 0000000..223c981 --- /dev/null +++ b/Network.h @@ -0,0 +1,22 @@ +#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 @@ -0,0 +1,56 @@ +#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[] = { "initfail", "arch", "bsd", "centos", "debian", + "gentoo", "mandriva", "slackware", "suse", + "ubuntu"}; +#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); +} @@ -0,0 +1,30 @@ +#ifndef OS_H +#define OS_H + +#define OS_WINGDOWS 0 /* OS 0 is the init */ +#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 @@ -0,0 +1,65 @@ +XLennart 1.0 + +Welcome to XLennart... + +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 +SystenD [TM], a virus cleverly designed to resemble a popular +init 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 SystenD 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 Lenns on/off the screen + Number of Computers running their init/off/SystenD + Level + Score + +Options: + -l <n> Start at level n. + + --gui <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 <size> + Play on a field of size x size, instead of the normal + 400x400. <size> 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 <bwelling@xbill.org> for XBill 2.1 + + Gethyn ThomasQuail <xylem2020@gmail.com> for XLennart + +Programming & graphics: + + Matias Duarte <matias@hyperimage.com> for XBill 2.0 + + Gethyn ThomasQuail <xylem2020@gmail.com> for XLennart diff --git a/README.Ports b/README.Ports new file mode 100644 index 0000000..eb520f3 --- /dev/null +++ b/README.Ports @@ -0,0 +1,24 @@ +Here's the status of the various ports: + +Mac: +Josh Adams <jadams@hyperimage.com> 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 <doconno@cc.UManitoba.CA> 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) diff --git a/Scorelist.c b/Scorelist.c new file mode 100644 index 0000000..9c2afc6 --- /dev/null +++ b/Scorelist.c @@ -0,0 +1,100 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#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); +} diff --git a/Scorelist.h b/Scorelist.h new file mode 100644 index 0000000..0b35106 --- /dev/null +++ b/Scorelist.h @@ -0,0 +1,10 @@ +#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 @@ -0,0 +1,29 @@ +#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); +} @@ -0,0 +1,20 @@ +#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 @@ -0,0 +1,246 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> + +#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]; +} @@ -0,0 +1,86 @@ +#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 diff --git a/acconfig.h b/acconfig.h new file mode 100644 index 0000000..a401e61 --- /dev/null +++ b/acconfig.h @@ -0,0 +1,8 @@ +/* Use athena widgets */ +#undef USE_ATHENA + +/* Use motif widgets */ +#undef USE_MOTIF + +/* Use gtk widgets */ +#undef USE_GTK diff --git a/bitmaps/arch.xbm b/bitmaps/arch.xbm new file mode 100644 index 0000000..083b26c --- /dev/null +++ b/bitmaps/arch.xbm @@ -0,0 +1,11 @@ +#define arch_width 28 +#define arch_height 24 +static unsigned char arch_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x60, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, + 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf0, 0x00, 0x00, 0x00, 0xf8, 0x01, 0x00, + 0x00, 0xf8, 0x01, 0x00, 0x00, 0xfc, 0x03, 0x00, 0x00, 0xfc, 0x03, 0x00, + 0x00, 0xfe, 0x07, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0x9f, 0x0f, 0x00, + 0x80, 0x0f, 0x1f, 0x00, 0x80, 0x0f, 0x1f, 0x00, 0xc0, 0x0f, 0x1f, 0x00, + 0xc0, 0x0f, 0x3f, 0x00, 0xe0, 0x03, 0x7c, 0x00, 0x60, 0x00, 0x70, 0x00, + 0x20, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/bitmaps/bsd.xbm b/bitmaps/bsd.xbm new file mode 100644 index 0000000..14654cb --- /dev/null +++ b/bitmaps/bsd.xbm @@ -0,0 +1,10 @@ +#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}; diff --git a/bitmaps/bucket.xbm b/bitmaps/bucket.xbm new file mode 100644 index 0000000..629ecc6 --- /dev/null +++ b/bitmaps/bucket.xbm @@ -0,0 +1,8 @@ +#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}; diff --git a/bitmaps/centos.xbm b/bitmaps/centos.xbm new file mode 100644 index 0000000..ec59b8c --- /dev/null +++ b/bitmaps/centos.xbm @@ -0,0 +1,11 @@ +#define centos_width 28 +#define centos_height 24 +static unsigned char centos_bits[] = { + 0xff, 0xff, 0xff, 0x0f, 0xff, 0x9f, 0xff, 0x0f, 0xf7, 0x86, 0xbd, 0x0f, + 0xbf, 0x07, 0xff, 0x0e, 0x1f, 0xc0, 0xff, 0x0f, 0x1f, 0xc0, 0xff, 0x0f, + 0x1b, 0xc0, 0xff, 0x0f, 0x1f, 0xc0, 0xff, 0x0d, 0x3f, 0xc0, 0xff, 0x0f, + 0x1f, 0xc0, 0xff, 0x0f, 0x3f, 0xe0, 0xff, 0x0f, 0xfe, 0xff, 0xff, 0x0f, + 0xff, 0xff, 0xff, 0x0f, 0xff, 0x1f, 0xe0, 0x0f, 0xff, 0x9f, 0xe0, 0x0f, + 0xfe, 0x1f, 0xc1, 0x0e, 0xff, 0x1f, 0xe0, 0x0f, 0xfd, 0x1f, 0xc0, 0x0f, + 0xff, 0x1f, 0xe0, 0x0b, 0xff, 0x1f, 0xc2, 0x0f, 0xff, 0x07, 0xff, 0x0f, + 0xfd, 0x8f, 0xff, 0x0f, 0xff, 0xdf, 0x7f, 0x0f, 0xff, 0xff, 0xfb, 0x0f }; diff --git a/bitmaps/debian.xbm b/bitmaps/debian.xbm new file mode 100644 index 0000000..22c4f59 --- /dev/null +++ b/bitmaps/debian.xbm @@ -0,0 +1,11 @@ +#define debian_width 28 +#define debian_height 24 +static unsigned char debian_bits[] = { + 0x00, 0xf8, 0x00, 0x00, 0x00, 0xfe, 0x0f, 0x00, 0x00, 0xff, 0x1f, 0x00, + 0x80, 0x07, 0x3c, 0x00, 0xc0, 0x03, 0x78, 0x00, 0xe0, 0x00, 0x70, 0x00, + 0xe0, 0x40, 0x70, 0x00, 0x60, 0xa0, 0x60, 0x00, 0x30, 0x10, 0x60, 0x00, + 0x30, 0x08, 0x60, 0x00, 0x30, 0x08, 0x60, 0x00, 0x30, 0x18, 0x30, 0x00, + 0x30, 0x10, 0x10, 0x00, 0x30, 0x30, 0x18, 0x00, 0x20, 0xe0, 0x0f, 0x00, + 0x60, 0x00, 0x01, 0x00, 0xe0, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, + 0xc0, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x06, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00 }; diff --git a/bitmaps/gentoo.xbm b/bitmaps/gentoo.xbm new file mode 100644 index 0000000..a7b096f --- /dev/null +++ b/bitmaps/gentoo.xbm @@ -0,0 +1,11 @@ +#define gentoo_width 28 +#define gentoo_height 24 +static unsigned char gentoo_bits[] = { + 0x00, 0x2a, 0x00, 0x00, 0xb5, 0xc0, 0xb7, 0x05, 0x4a, 0x00, 0x4b, 0x02, + 0x34, 0x00, 0x5e, 0x05, 0x1a, 0x00, 0x5c, 0x05, 0x12, 0x80, 0x78, 0x05, + 0x0a, 0xf0, 0x29, 0x09, 0x0a, 0xf0, 0x79, 0x02, 0x1c, 0xe0, 0x69, 0x0a, + 0x31, 0x00, 0x70, 0x02, 0xf4, 0x00, 0x6c, 0x08, 0x81, 0x01, 0x30, 0x02, + 0x2a, 0x00, 0x0c, 0x05, 0x0a, 0x00, 0x88, 0x05, 0x12, 0x00, 0x86, 0x04, + 0x05, 0x00, 0xe0, 0x02, 0x02, 0x00, 0x30, 0x05, 0x02, 0x00, 0xac, 0x04, + 0x02, 0x00, 0xae, 0x02, 0x02, 0x80, 0x57, 0x05, 0x0c, 0xe0, 0x55, 0x05, + 0x11, 0x7c, 0x55, 0x05, 0xf6, 0xff, 0xaa, 0x02, 0xf4, 0xbf, 0xaa, 0x04 }; diff --git a/bitmaps/hand_down.xbm b/bitmaps/hand_down.xbm new file mode 100644 index 0000000..5dc984d --- /dev/null +++ b/bitmaps/hand_down.xbm @@ -0,0 +1,6 @@ +#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}; diff --git a/bitmaps/hand_down_mask.xbm b/bitmaps/hand_down_mask.xbm new file mode 100644 index 0000000..6d6ff1d --- /dev/null +++ b/bitmaps/hand_down_mask.xbm @@ -0,0 +1,6 @@ +#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}; diff --git a/bitmaps/hand_up.xbm b/bitmaps/hand_up.xbm new file mode 100644 index 0000000..76bf319 --- /dev/null +++ b/bitmaps/hand_up.xbm @@ -0,0 +1,6 @@ +#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}; diff --git a/bitmaps/hand_up_mask.xbm b/bitmaps/hand_up_mask.xbm new file mode 100644 index 0000000..4029017 --- /dev/null +++ b/bitmaps/hand_up_mask.xbm @@ -0,0 +1,6 @@ +#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}; diff --git a/bitmaps/initfail.xbm b/bitmaps/initfail.xbm new file mode 100644 index 0000000..3d6e600 --- /dev/null +++ b/bitmaps/initfail.xbm @@ -0,0 +1,11 @@ +#define initfail_width 28 +#define initfail_height 24 +static unsigned char initfail_bits[] = { + 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x0f, 0xaf, 0xdd, 0xff, 0x0f, + 0xff, 0xff, 0xff, 0x0f, 0xef, 0x00, 0xc8, 0x0f, 0xff, 0x94, 0xa4, 0x0f, + 0xd7, 0x00, 0x80, 0x0f, 0xff, 0x90, 0xa0, 0x0f, 0xff, 0xff, 0xff, 0x0f, + 0xf7, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x0f, 0xfb, 0xff, 0xff, 0x0f, + 0xff, 0xff, 0xff, 0x0f, 0xf5, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x0f, + 0xff, 0xff, 0xff, 0x0f, 0xff, 0x24, 0xc9, 0x0f, 0xff, 0x04, 0xa0, 0x0f, + 0xff, 0x04, 0x84, 0x0f, 0xb7, 0x90, 0xa0, 0x0f, 0xff, 0xff, 0xff, 0x0f, + 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x0f, 0xff, 0xff, 0xff, 0x0f }; diff --git a/bitmaps/mandriva.xbm b/bitmaps/mandriva.xbm new file mode 100644 index 0000000..d9547eb --- /dev/null +++ b/bitmaps/mandriva.xbm @@ -0,0 +1,11 @@ +#define mandriva_width 28 +#define mandriva_height 24 +static unsigned char mandriva_bits[] = { + 0xaa, 0xaa, 0xaa, 0x0a, 0x55, 0xa5, 0xa4, 0x04, 0x92, 0x14, 0x4c, 0x05, + 0x24, 0x25, 0x90, 0x04, 0x4d, 0x14, 0x64, 0x05, 0x52, 0x05, 0x94, 0x04, + 0x0d, 0x08, 0x28, 0x05, 0x1c, 0x00, 0x90, 0x04, 0x07, 0x00, 0x50, 0x04, + 0x16, 0x00, 0x00, 0x04, 0x57, 0x00, 0x00, 0x00, 0x27, 0x00, 0x00, 0x08, + 0xa7, 0x00, 0x00, 0x00, 0x97, 0x00, 0xa0, 0x06, 0x57, 0x00, 0xa8, 0x0a, + 0x27, 0x00, 0xa8, 0x04, 0x4f, 0x00, 0x90, 0x04, 0x1f, 0x30, 0x20, 0x05, + 0x3e, 0x1c, 0x58, 0x0a, 0xff, 0x6f, 0x80, 0x04, 0xfe, 0xab, 0x78, 0x09, + 0xfa, 0x4a, 0x11, 0x05, 0x4a, 0x55, 0xa5, 0x04, 0x55, 0x49, 0x4a, 0x05 }; diff --git a/bitmaps/redhat.xbm b/bitmaps/redhat.xbm new file mode 100644 index 0000000..05f0c30 --- /dev/null +++ b/bitmaps/redhat.xbm @@ -0,0 +1,10 @@ +#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}; diff --git a/bitmaps/slackware.xbm b/bitmaps/slackware.xbm new file mode 100644 index 0000000..129a514 --- /dev/null +++ b/bitmaps/slackware.xbm @@ -0,0 +1,11 @@ +#define slackware_width 28 +#define slackware_height 24 +static unsigned char slackware_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0x44, 0x00, 0x00, + 0x00, 0x54, 0x01, 0x00, 0x80, 0x92, 0x02, 0x00, 0x80, 0x74, 0x17, 0x00, + 0x20, 0x85, 0x0a, 0x00, 0x50, 0x2e, 0x2a, 0x00, 0xa0, 0x52, 0x29, 0x00, + 0x48, 0x2e, 0x49, 0x00, 0xa0, 0xfa, 0x93, 0x00, 0x88, 0xf4, 0x2f, 0x00, + 0x50, 0x09, 0x4f, 0x00, 0x10, 0x53, 0xae, 0x00, 0xa0, 0x4f, 0x4f, 0x00, + 0x48, 0xbf, 0x5f, 0x00, 0x20, 0xff, 0x87, 0x00, 0xa0, 0x7f, 0x29, 0x00, + 0x40, 0x80, 0x44, 0x00, 0x80, 0x2a, 0x09, 0x00, 0x00, 0x42, 0x12, 0x00, + 0x80, 0x94, 0x04, 0x00, 0x00, 0x54, 0x05, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/bitmaps/suse.xbm b/bitmaps/suse.xbm new file mode 100644 index 0000000..e6052e2 --- /dev/null +++ b/bitmaps/suse.xbm @@ -0,0 +1,11 @@ +#define suse_width 28 +#define suse_height 24 +static unsigned char suse_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x68, 0x01, 0x00, + 0x00, 0xff, 0xff, 0x00, 0xc0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x05, + 0xf8, 0xff, 0xff, 0x07, 0xf8, 0xff, 0xbf, 0x06, 0xfc, 0xff, 0xff, 0x06, + 0x0e, 0xff, 0xff, 0x03, 0xf6, 0x9e, 0x07, 0x00, 0xb6, 0x0d, 0x0e, 0x00, + 0x76, 0x0d, 0x0c, 0x00, 0x8c, 0x01, 0x00, 0x00, 0xfc, 0x01, 0x00, 0x00, + 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; diff --git a/bitmaps/ubuntu.xbm b/bitmaps/ubuntu.xbm new file mode 100644 index 0000000..e248c7e --- /dev/null +++ b/bitmaps/ubuntu.xbm @@ -0,0 +1,11 @@ +#define ubuntu_width 28 +#define ubuntu_height 24 +static unsigned char ubuntu_bits[] = { + 0x00, 0xf8, 0x01, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x80, 0xff, 0x3f, 0x00, + 0xc0, 0xff, 0x7b, 0x00, 0xe0, 0xff, 0xf1, 0x00, 0xf0, 0x1f, 0xf1, 0x00, + 0xf8, 0x07, 0xfa, 0x01, 0xf8, 0xd9, 0xf8, 0x01, 0xf8, 0xf8, 0xf1, 0x03, + 0xfc, 0xfc, 0xe3, 0x03, 0x7c, 0xfc, 0xe7, 0x03, 0x8c, 0xfe, 0xf7, 0x03, + 0x1c, 0xfe, 0xef, 0x03, 0xdc, 0xfc, 0xe7, 0x03, 0xfc, 0xfc, 0xf3, 0x03, + 0xf8, 0xf8, 0xf3, 0x03, 0xf8, 0x79, 0xf8, 0x01, 0xf8, 0x07, 0xfa, 0x01, + 0xf0, 0x8f, 0xf0, 0x01, 0xe0, 0xff, 0x79, 0x00, 0xe0, 0xff, 0x7b, 0x00, + 0xc0, 0xff, 0x3f, 0x00, 0x00, 0xff, 0x0f, 0x00, 0x00, 0xfc, 0x03, 0x00 }; diff --git a/config.h.in b/config.h.in new file mode 100644 index 0000000..53c8d14 --- /dev/null +++ b/config.h.in @@ -0,0 +1,22 @@ +/* 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 <unistd.h> header file. */ +#undef HAVE_UNISTD_H diff --git a/config.in b/config.in new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/config.in diff --git a/configure b/configure new file mode 100755 index 0000000..021263f --- /dev/null +++ b/configure @@ -0,0 +1,2922 @@ +#! /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 <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:743: \"$ac_try\") 1>&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 <<EOF +#line 809 "configure" +#include "confdefs.h" +#include <assert.h> +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 <<EOF +#line 826 "configure" +#include "confdefs.h" +#include <assert.h> +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 <<EOF +#line 843 "configure" +#include "confdefs.h" +#include <assert.h> +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 <<EOF +#line 918 "configure" +#include "confdefs.h" +/* 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 yywrap(); + +int main() { +yywrap() +; return 0; } +EOF +if { (eval echo configure:929: \"$ac_link\") 1>&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 <<EOF +#ifdef __GNUC__ + yes; +#endif +EOF +if { ac_try='${CXX-g++} -E conftest.C'; { (eval echo configure:1205: \"$ac_try\") 1>&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 +#line 1323 "configure" +#include "confdefs.h" +#include <$x_direct_test_include> +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 <<EOF +#line 1397 "configure" +#include "confdefs.h" + +int main() { +${x_direct_test_function}() +; return 0; } +EOF +if { (eval echo configure:1404: \"$ac_link\") 1>&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 <<EOF +#line 1513 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:1520: \"$ac_link\") 1>&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 <<EOF +#line 1536 "configure" +#include "confdefs.h" + +int main() { + +; return 0; } +EOF +if { (eval echo configure:1543: \"$ac_link\") 1>&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 <<EOF +#line 1583 "configure" +#include "confdefs.h" +/* 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 dnet_ntoa(); + +int main() { +dnet_ntoa() +; return 0; } +EOF +if { (eval echo configure:1594: \"$ac_link\") 1>&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 <<EOF +#line 1624 "configure" +#include "confdefs.h" +/* 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 dnet_ntoa(); + +int main() { +dnet_ntoa() +; return 0; } +EOF +if { (eval echo configure:1635: \"$ac_link\") 1>&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 <<EOF +#line 1669 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char gethostbyname(); below. */ +#include <assert.h> +/* 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 <<EOF +#line 1721 "configure" +#include "confdefs.h" +/* 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() { +gethostbyname() +; return 0; } +EOF +if { (eval echo configure:1732: \"$ac_link\") 1>&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 <<EOF +#line 1767 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char connect(); below. */ +#include <assert.h> +/* 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 <<EOF +#line 1819 "configure" +#include "confdefs.h" +/* 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() { +connect() +; return 0; } +EOF +if { (eval echo configure:1830: \"$ac_link\") 1>&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 <<EOF +#line 1859 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char remove(); below. */ +#include <assert.h> +/* 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 <<EOF +#line 1911 "configure" +#include "confdefs.h" +/* 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() { +remove() +; return 0; } +EOF +if { (eval echo configure:1922: \"$ac_link\") 1>&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 <<EOF +#line 1951 "configure" +#include "confdefs.h" +/* System header to define __stub macros and hopefully few prototypes, + which can conflict with char shmat(); below. */ +#include <assert.h> +/* 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 <<EOF +#line 2003 "configure" +#include "confdefs.h" +/* 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() { +shmat() +; return 0; } +EOF +if { (eval echo configure:2014: \"$ac_link\") 1>&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 <<EOF +#line 2055 "configure" +#include "confdefs.h" +/* 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 IceConnectionNumber(); + +int main() { +IceConnectionNumber() +; return 0; } +EOF +if { (eval echo configure:2066: \"$ac_link\") 1>&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 <<EOF +#line 2096 "configure" +#include "confdefs.h" +#include <stdlib.h> +#include <stdarg.h> +#include <string.h> +#include <float.h> +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 +#line 2121 "configure" +#include "confdefs.h" +#include <string.h> +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 +#line 2139 "configure" +#include "confdefs.h" +#include <stdlib.h> +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 <<EOF +#line 2160 "configure" +#include "confdefs.h" +#include <ctype.h> +#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 +#line 2203 "configure" +#include "confdefs.h" +#include <$ac_hdr> +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 <<EOF +#define $ac_tr_hdr 1 +EOF + +else + echo "$ac_t""no" 1>&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 <<EOF +#line 2241 "configure" +#include "confdefs.h" + +int main() { + +/* Ultrix mips cc rejects this. */ +typedef int charset[2]; const charset x; +/* SunOS 4.1.1 cc rejects this. */ +char const *const *ccp; +char **p; +/* NEC SVR4.0.2 mips cc rejects this. */ +struct point {int x, y;}; +static struct point const zero = {0,0}; +/* AIX XL C 1.02.0.0 rejects this. + It does not let you subtract one const X* pointer from another in an arm + of an if-expression whose if-part is not a constant expression */ +const char *g = "string"; +ccp = &g + (g ? g-g : 0); +/* HPUX 7.0 cc rejects these. */ +++ccp; +p = (char**) ccp; +ccp = (char const *const *) p; +{ /* SCO 3.2v4 cc rejects this. */ + char *t; + char const *s = 0 ? (char *) 0 : (char const *) 0; + + *t++ = 0; +} +{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */ + int x[] = {25, 17}; + const int *foo = &x[0]; + ++foo; +} +{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */ + typedef const int *iptr; + iptr p = 0; + ++p; +} +{ /* AIX XL C 1.02.0.0 rejects this saying + "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */ + struct s { int j; const int *ap[3]; }; + struct s *b; b->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 <<EOF +#line 2332 "configure" +#include "confdefs.h" +/* 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 XmGetPixmap(); + +int main() { +XmGetPixmap() +; return 0; } +EOF +if { (eval echo configure:2343: \"$ac_link\") 1>&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 <<EOF +#line 2401 "configure" +#include "confdefs.h" +/* 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 XawInitializeWidgetSet(); + +int main() { +XawInitializeWidgetSet() +; return 0; } +EOF +if { (eval echo configure:2412: \"$ac_link\") 1>&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 <<EOF +#line 2443 "configure" +#include "confdefs.h" +/* 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 XawInitializeWidgetSet(); + +int main() { +XawInitializeWidgetSet() +; return 0; } +EOF +if { (eval echo configure:2454: \"$ac_link\") 1>&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 <<EOF +#! /bin/sh +# Generated automatically by configure. +# Run this file to recreate the current configuration. +# This directory was configured as follows, +# on host `(hostname || uname -n) 2>/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 <<EOF + +# Protect against being on the right side of a sed subst in config.status. +sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; + s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > 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 <<EOF + +CONFIG_FILES=\${CONFIG_FILES-"Makefile"} +EOF +cat >> $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 <<EOF + CONFIG_HEADERS="config.h" +EOF +cat >> $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 <<CEOF' >> $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 <<EOF + +EOF +cat >> $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 + diff --git a/configure.in b/configure.in new file mode 100644 index 0000000..e4dd9b4 --- /dev/null +++ b/configure.in @@ -0,0 +1,102 @@ +dnl 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) @@ -0,0 +1,672 @@ +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <sys/types.h> +#include <sys/stat.h> + +#include <gtk/gtk.h> + +#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/initfail.xbm" +#include "bitmaps/arch.xbm" +#include "bitmaps/bsd.xbm" +#include "bitmaps/centos.xbm" +#include "bitmaps/debian.xbm" +#include "bitmaps/gentoo.xbm" +#include "bitmaps/mandriva.xbm" +#include "bitmaps/slackware.xbm" +#include "bitmaps/suse.xbm" +#include "bitmaps/ubuntu.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(arch), CURSOR_ADD( bsd), CURSOR_ADD(centos), + CURSOR_ADD(debian), CURSOR_ADD(gentoo), CURSOR_ADD(mandriva), + CURSOR_ADD(slackware), CURSOR_ADD(suse), CURSOR_ADD(ubuntu), + 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), "XLennart - A XBill Modification"); + + 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; +} @@ -0,0 +1,9 @@ +#ifndef GTK_H +#define GTK_H + +#include "UI.h" + +void +gtk_ui_setmethods(UI_methods **methodsp); + +#endif diff --git a/install-sh b/install-sh new file mode 100755 index 0000000..e9de238 --- /dev/null +++ b/install-sh @@ -0,0 +1,251 @@ +#!/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 diff --git a/mkinstalldirs b/mkinstalldirs new file mode 100644 index 0000000..67382c8 --- /dev/null +++ b/mkinstalldirs @@ -0,0 +1,40 @@ +#! /bin/sh +# mkinstalldirs --- make directory hierarchy +# Author: Noah Friedman <friedman@prep.ai.mit.edu> +# 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 diff --git a/pixmaps/about.xcf b/pixmaps/about.xcf Binary files differnew file mode 100644 index 0000000..62adbfe --- /dev/null +++ b/pixmaps/about.xcf diff --git a/pixmaps/about.xpm b/pixmaps/about.xpm new file mode 100644 index 0000000..ae3555e --- /dev/null +++ b/pixmaps/about.xpm @@ -0,0 +1,387 @@ +/* XPM */ +static char * about_xpm[] = { +"300 140 244 2", +" c None", +". c #315294", +"+ c #020407", +"@ c #000000", +"# c #000001", +"$ c #010305", +"% c #2A4780", +"& c #010103", +"* c #070C16", +"= c #18294A", +"- c #060A12", +"; c #2B4883", +"> c #2C4A87", +", c #080D18", +"' c #274277", +") c #060B14", +"! c #2E4D8B", +"~ c #0C1527", +"{ c #090F1C", +"] c #020306", +"^ c #29457D", +"/ c #010203", +"( c #29467E", +"_ c #1C2F55", +": c #060B13", +"< c #0D1629", +"[ c #263F73", +"} c #28447B", +"| c #172747", +"1 c #1C2F56", +"2 c #080E1A", +"3 c #090F1B", +"4 c #162543", +"5 c #1E325A", +"6 c #0A111F", +"7 c #101C32", +"8 c #111D34", +"9 c #243C6D", +"0 c #2C4985", +"a c #284379", +"b c #050911", +"c c #2B4882", +"d c #0C1425", +"e c #060A13", +"f c #1D3057", +"g c #203662", +"h c #264074", +"i c #1D3159", +"j c #010205", +"k c #253E70", +"l c #2E4E8C", +"m c #1B2E53", +"n c #070C17", +"o c #1C2F54", +"p c #03060B", +"q c #0D1527", +"r c #1F345E", +"s c #2C4A86", +"t c #152441", +"u c #0A111E", +"v c #0B1322", +"w c #05080F", +"x c #000102", +"y c #0F1A30", +"z c #0C1526", +"A c #2F4E8E", +"B c #1F3560", +"C c #2F4F8F", +"D c #2A4781", +"E c #0F192D", +"F c #14223E", +"G c #111C34", +"H c #0B1323", +"I c #2B4984", +"J c #0A101E", +"K c #14223D", +"L c #2E4C8A", +"M c #03050A", +"N c #1E325B", +"O c #2D4C8A", +"P c #101A30", +"Q c #030509", +"R c #253E71", +"S c #223A69", +"T c #29457E", +"U c #2E4E8D", +"V c #2F5090", +"W c #070C15", +"X c #29457C", +"Y c #305192", +"Z c #162645", +"` c #192A4C", +" . c #04060C", +".. c #18294B", +"+. c #121F38", +"@. c #2D4C89", +"#. c #020408", +"$. c #15233F", +"%. c #0E172A", +"&. c #1A2B4F", +"*. c #213764", +"=. c #0B1221", +"-. c #1F345D", +";. c #233B6A", +">. c #2A467F", +",. c #0E182B", +"'. c #0D1628", +"). c #121E37", +"!. c #0E182C", +"~. c #13213B", +"{. c #1D325A", +"]. c #101B31", +"^. c #111D35", +"/. c #080E19", +"(. c #223967", +"_. c #152442", +":. c #223968", +"<. c #1A2C50", +"[. c #04070E", +"}. c #2D4B88", +"|. c #203560", +"1. c #010204", +"2. c #253D6F", +"3. c #203661", +"4. c #305091", +"5. c #13213C", +"6. c #000101", +"7. c #0F1A2F", +"8. c #192B4D", +"9. c #1B2D52", +"0. c #04070D", +"a. c #233B6B", +"b. c #182849", +"c. c #5A395A", +"d. c #FFFFFF", +"e. c #DEDEBD", +"f. c #FFFFF7", +"g. c #32642C", +"h. c #945831", +"i. c #1C3057", +"j. c #050810", +"k. c #070D17", +"l. c #1D315A", +"m. c #1A2C4F", +"n. c #253F72", +"o. c #2B4983", +"p. c #274176", +"q. c #2C4984", +"r. c #233C6C", +"s. c #1F335D", +"t. c #29447C", +"u. c #213865", +"v. c #1F345F", +"w. c #162544", +"x. c #233A6A", +"y. c #172646", +"z. c #070D18", +"A. c #233A69", +"B. c #263F72", +"C. c #04080E", +"D. c #1E335C", +"E. c #274175", +"F. c #1C2E54", +"G. c #0B1222", +"H. c #13203A", +"I. c #0C1525", +"J. c #1B2D51", +"K. c #203763", +"L. c #243D6E", +"M. c #213866", +"N. c #264175", +"O. c #070B15", +"P. c #121F39", +"Q. c #0F192E", +"R. c #03060C", +"S. c #2F4F90", +"T. c #284378", +"U. c #284278", +"V. c #264075", +"W. c #243D6F", +"X. c #2E4D8C", +"Y. c #111C33", +"Z. c #152340", +"`. c #050910", +" + c #243C6C", +".+ c #09101C", +"++ c #28437A", +"@+ c #1D3158", +"#+ c #274278", +"$+ c #04080F", +"%+ c #050912", +"&+ c #253F71", +"*+ c #14213D", +"=+ c #172645", +"-+ c #0D1627", +";+ c #2C4B87", +">+ c #28447A", +",+ c #172746", +"'+ c #0A1220", +")+ c #04070C", +"!+ c #162644", +"~+ c #18085A", +"{+ c #222772", +"]+ c #20206D", +"^+ c #18095B", +"/+ c #232A75", +"(+ c #1D1765", +"_+ c #4AB5EF", +":+ c #4A8CBD", +"<+ c #294A6B", +"[+ c #233B6C", +"}+ c #020509", +"|+ c #264073", +"1+ c #2F4F8E", +"2+ c #1A2D51", +"3+ c #1A2B4E", +"4+ c #14223F", +"5+ c #020307", +"6+ c #14233F", +"7+ c #121E36", +"8+ c #172848", +"9+ c #162442", +"0+ c #0C1424", +"a+ c #213763", +"b+ c #101C33", +"c+ c #1F355F", +"d+ c #1B2E54", +"e+ c #09101D", +"f+ c #0A1120", +"g+ c #13203B", +"h+ c #182848", +"i+ c #2D4B89", +"j+ c #2F4E8D", +"k+ c #0D172A", +"l+ c #203663", +"m+ c #111D36", +"n+ c #19294B", +"o+ c #2C4A85", +"p+ c #162542", +"q+ c #1A2C51", +"r+ c #1D3058", +"s+ c #253E6F", +"t+ c #0B1424", +"u+ c #1E335D", +" ", +" ", +" ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +" . + @ # $ . . % & @ @ * . = - @ ; = - @ ; = - @ ; > , @ ; ", +" . ' + ) @ ! . ~ { ] > . . . ^ / . . ^ / . . ^ / . . ( / . ", +" . _ : < @ [ . } @ | * . . . . . . . 1 : . . 1 : . . . . . . . 1 : . . 1 ) . ", +" . 2 3 4 @ 5 . . 6 7 8 3 . . 9 , @ : 0 . . . . . 3 3 . . . . . 3 3 . . a 2 @ b c . . . . . 3 3 . . 2 d . . . . . . . . . . . . . . . . . ", +" . e f g @ 4 . h @ ! : i . . } j k l m n . . o p @ q 3 r . . o p @ q 3 r . . s @ _ l t u . . o p @ q 3 r . . : v w @ x y ! . z @ @ A ) @ @ B . @ C ", +" . @ D % @ E . , F . @ c . w ( . . @ . . G H s I 3 @ I . G H s I 3 @ I . J K . . L x . . G H s I 3 @ I . ] M N O I P , . F Q C . A + R . . . . ", +" D @ . . / 3 S @ C D @ . T @ . . @ . A @ . . . g + . A @ . . . g + . U Q V . . ' W . A @ . . . g + . I @ X . . Y @ . g @ C . Z ` . ", +" . 1 e . . - .2 ... 1 ) . +.{ . . @.#.. $.%.. . &.) . . $.%.. . &.) . *.@ @ @ @ @ =.. $.%.. . &.) . . -.n . V ] . l @ ;.>.@ . ", +" . E ,.. . '.@ - Y . =.H . m ).. . { 4 . !.... . . J ~.. . !.... . . J ~.. {.].. . . h h . !.... . . J ~.. . ^./.. . . ^.].. . e $.=.;.. ", +" . V (./ * @.. _.@ :.. C W <.. . L [.' }.= @ . . |.2 0 ; ].@ ` . . |.2 0 ; ].@ ` . D 1.2.U N @ @.. |.2 0 ; ].@ ` . . : @ ` }.@.Z @ . . '.@ P . . . . ", +" . 6 @ @ @ M . 3.{ . ].@ @ @ * . . i @ @ ).4.. . 5.@ 6.7.] @ 5 . 5.@ 6.7.] @ 5 . 8.& @ J % . . 5.@ 6.7.] @ 5 X 7.9.#.@ 0.t 4.. . o # C . . @ . ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . C p a.. . . . ", +" *.` e 7 . ", +" b.@ <.. . ", +" . . . ", +" ", +" c.c.c.c.c.c. ", +" c.c.c.@ @ @ @ @ @ c.c. ", +" c.@ @ @ @ @ c.@ @ @ @ @ c. ", +" c.@ @ @ @ @ c.@ @ @ @ @ @ c. ", +" c.@ @ @ @ @ @ @ @ @ @ @ @ @ c. ", +" c.@ @ @ @ c.@ @ @ @ @ @ @ @ c. ", +" c.@ @ @ @ c.c.@ @ @ @ @ @ @ @ @ c. ", +" c.@ @ c.c.d.e.c.@ @ @ @ @ @ @ @ c. ", +" c.@ @ c.d.e.d.e.c.@ @ @ @ @ @ @ c. ", +" c.c.@ c.d.e.d.e.d.e.c.@ @ @ @ @ @ c. ", +" c.@ @ c.e.d.@ d.e.d.@ c.c.@ @ @ @ c. ", +" c.@ @ c.d.@ d.@ d.@ d.@ d.c.@ @ @ c. ", +" c.@ @ c.e.d.@ d.e.d.@ d.e.c.@ @ c.c. ", +" c.c.@ c.d.e.f.e.d.e.d.e.d.e.c.@ c. ", +" c.@ c.c.f.e.f.e.d.e.d.e.f.c.@ c. ", +" c.@ @ c.e.d.c.c.c.f.e.f.e.c.@ c. ", +" c.c.@ c.f.e.d.e.f.e.c.e.f.c.@ c. ", +" c.@ c.c.f.e.f.e.c.e.@ c.c.c.c. ", +" c.c.@ c.f.e.c.e.@ @ c.g.g.c. ", +" c.c.@ @ c.c.c.@ @ c.g.g.g.g.c. ", +" c.g.g.c.@ @ @ @ @ c.g.g.c.g.g.c. ", +" c.g.g.g.c.c.@ @ c.g.g.g.c.g.g.c. ", +" c.g.g.c.g.g.c.@ c.c.g.g.g.c.g.g.c. ", +" c.g.g.c.g.g.c.@ c.c.g.g.c.g.g.g.c. ", +" c.g.g.c.g.g.c.@ c.c.g.g.c.g.g.g.g.c. ", +" c.g.g.c.g.g.c.@ c.c.g.c.g.g.g.g.g.c. ", +" c.g.g.g.g.g.c.@ c.c.g.g.c.g.g.g.c.c. ", +" c.c.g.c.g.g.c.c.c.c.c.g.g.c.g.c.c. ", +" c.c.g.g.g.c.. c.c.g.c.g.g.c.c. ", +" c.c.g.g.c.. c.c.g.g.g.c.c. ", +" c.c.c.. . c.c.c.c.c.c. ", +" c.. . . . c.. . . . c. ", +" c.. . . . c.. . . . c. ", +" c.. . . . c.. . . . c. ", +" c.. c.c.c.c.c.c.c.. c. ", +" c.c.h.h.h.c.h.h.h.c.c. ", +" c.h.h.h.h.c.h.h.h.h.c. ", +" c.c.c.c.c.c.c.c.c.c.c. ", +" ", +" ", +" ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +" . i.* & @ j.i.e . . . . 9.3 x C . ) @ @ @ @ @ @ @ k.l.3 x C . . m.) @ # * 1 . 3.@ n.. 0.* # . ", +" . , H c U a.W @ M . C @ . . Y @ o. . [.[.p.q.@ 0 p.[.- . Y @ o. . < #.a.l U r.Q %.. . . . . . 4.@ . ", +" . s.n . . . V - ] . . . . . . . . t.@ . . @ ' . @ u.. . @ . . g @ . . @ ' . . . . . . . . . . . . . |.@ . . . . $ v.. . . . . . . . . . . . @ . ", +" . p I . . 9 @ . . 4 x @ w.. 4.7 @ . . . . @ x.. . . . . . . . . . . . . . . . . . . . . . 1.. . @ . . & . . @ x.. . . . . F # @ y.. . . . . . . . . . . . . . . x.z.6.@ - (.. . . . . . . . 0.A.. . B.C.. . . . . . . . . x.z.6.@ - (.. y.$.G . . @ . ", +" . x . . H . . D.& E.0 z.F.. :.@ @ @ @ u. . @ 1 G.@ Q a.. 1.@ 2 > @ @ @ . M J ) a.C.@ C.:.. . F . . @ . . K . . @ 1 G.@ Q a.. . H.I.D o.z K . M J ) J.@ x |.K.0.@ b ;.. . p D 4.% H. .. . ` # @ 3 J . . @ . . x L.{ x . = { x . . p D 4.% H. .. M.v.@ . . @ . ", +" . @ . . . . . . . . - F.. . N.O.. . . @ . . . . @ =.N.! P.M . Q.- 4.. ( ] ( . . U @ /.p.! H.R.. . . . . @ . . . . . @ =.N.! P.M . . @ S.. . A @ . . A @ < }.J.M J T.O F #.. . @ . . . V @ . . Q >.X 0.J . . @ . . x . Y @ . . Y @ . . @ . . . V @ . . @ . . @ . ", +" . @ . . u @ @ @ +.. + ! . . }.0.. . @ . . @ U.. . A @ . V.@ % . i H.. . @ U.. . A @ . . @ . . @ U.. . A @ . . @ . . @ . . @ 0 . V @ ( . . V @ . . . 0 < Q e @ . . @ F.O W.~ . . & . . . . . . . @ . . @ . . @ . . . 0 < Q e @ . . @ . . @ . ", +" . ] X.. . . D @ ! . . & @ @ @ @ / . . @ . . s . . @ 4. . @ . . /.Y.. @ >.. . @ 4. . @ . . @ . . @ 4. . @ . . @ . . @ . . @ . . @ . . @ . . Z.j ` ! . @ . . t /.@ x F.. . R.A B [.@ `. +. a.#.. . @ . V @ . . Z.j ` ! . @ . . @ . . @ . ", +" . Z .+. . . U.@ . . `.O . . . J.. . @ . O @ . . @ . . @ . . v.@ ++3 . . @ . . @ . . @ . . @ . . @ . . @ S.. . S.@ . . @ . . @ . . @ . . * . . . c @ . . 0.Y . E.@ . . @+Z Q #+O z $ % $+Z . . @ . . ' @ . . * . . . c @ . . @ . . @ . ", +" . .%+&+C @.D.`.$ . . *+2 >.! H.j . . & [ =+) . . > @ }.. . }.@ > . . Q Q r.. . Y >.@ }.. . }.@ > . . . 0 @ > . . . > @ }.. . }.@ > . 5.-+c c d K . Y >.@ }.. }.@ @.. . }.@ > . . ] p.C M.`.@ % O . @ 7.;+a ] . . = @ >+4.i @ & * . . ] *.> 3 @ c . . ] p.C M.`.@ % O . s @ > . . > @ }.. ", +" . . = ) # @ - K.E . . . ~.x @ d X.. . $.x ] r.. L.@ @ @ a.a.@ @ @ L.. *+#.. . @ @ @ @ a.a.@ @ @ L. . e @ @ @ O.. L.@ @ @ a.a.@ @ @ L.. ,+@ @ | . . @ @ @ @ _.@ @ @ [ R @ @ @ a.. 9.+ @ 0.<.'+Q n.. )+H @ j 1 . . g W @ / + M ! . . . 9.6.@ ,+@ @ m . 9.+ @ 0.<.'+Q n.u.@ @ @ u.:.@ @ @ :. ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + m . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ^.1.C - @+ . . . . . . . . . . . . . . . . . . . . . . . . . ", +" . ,.^.@ . . N @ ,+H 0 ", +" . @ e s . 4.=.1.!+. ", +" . ~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+{+{+{+]+^+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+]+/+/+/+(+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+", +" _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+", +" ", +" ", +" ", +" . . . . . . . . . . . . . :+. . . . . . . . :+ . . . . . . . . . . . . . . :+ . . . . . . . :+. . . . . . . . . . . . . . . :+. . . . . . . . . . . . . . . . . . . . :+ :+. . . . . . . . . . :+:+. . . . . . . . . . :+:+. . . . . . :+. . . :+. . . . . :+ :+. . . :+. . . . . . . . :+:+ . . . . . . . . . . . . . ", +" . . <+<+<+. <+. . <+<+. <+. . . <+<+<+<+<+<+. <+. . <+<+<+<+<+. . . . . <+<+<+. <+<+ <+<+<+<+<+. <+. :+. <+<+<+<+. <+. :+. <+~+<+<+. . . ~+:+ . . <+<+<+<+<+<+<+<+. <+. . . <+<+<+<+<+<+<+<+<+:+ . . <+<+<+<+<+<+<+<+. <+:+. <+<+<+<+<+<+<+<+. ~+. :+<+<+<+<+<+~+. <+. ~+:+<+<+. <+<+ . . <+<+:+ :+. <+<+<+<+<+<+<+<+<+. :+ <+<+<+<+<+<+<+<+<+. ~+:+ . . <+<+:+ ", +" . . <+~+~+. ~+~+. ~+<+. ~+~+. . . ~+~+<+<+<+. ~+~+<+<+ . . ~+~+. . ~+~+<+. . ~+~+. ~+~+. . . ~+~+. . ~+~+. :+. :+~+~+. <+~+~+:+. ~+~+. <+. . ~+<+~+~+:+ . . . ~+~+. <+. . ~+<+<+~+<+. . ~+~+. . . <+~+~+<+. . . . ~+~+<+<+<+<+~+. ~+<+<+. ~+~+<+<+<+<+~+. ~+~+. . ~+~+:+~+~+. ~+. ~+. . ~+. ~+~+. . ~+~+. ~+:+ :+<+:+~+~+<+. . . ~+~+<+~+:+ <+. ~+~+~+<+<+. ~+. ~+~+:+. ~+~+<+~+ ", +" . . ~+~+. ~+~+<+~+. ~+~+~+. :+. ~+~+. ~+~+~+. ~+<+~+. . . ~+:+~+~+~+. . . ~+. ~+~+~+<+ . . ~+. ~+~+~+. . <+~+:+~+~+~+. <+~+<+~+~+~+<+. <+~+~+:+ :+. ~+~+<+~+~+~+. <+<+~+. . . ~+. <+~+~+. <+~+<+~+:+ :+. ~+~+<+~+~+<+~+. ~+<+ . <+~+. ~+~+~+~+. ~+~+ . ~+~+. ~+~+<+~+. ~+~+<+<+~+~+~+<+ . . ~+~+. ~+~+ . <+~+:+~+~+~+. ~+~+<+. . . ~+. ~+~+~+<+. ~+~+. <+~+~+. ~+. ", +" . . . <+~+~+<+. ~+~+~+~+. . <+<+<+~+~+~+. <+<+<+~+ . . <+. ~+~+~+. :+. <+. ~+~+~+. . . <+. ~+~+~+. . <+<+. ~+~+~+<+<+. <+~+~+ . <+~+~+:+ . <+<+<+~+~+. <+<+<+~+. :+. <+. ~+~+~+~+. <+<+~+<+ . <+<+<+~+~+~+<+. ~+<+ . <+<+. ~+~+~+<+. ~+~+ <+. . <+~+<+<+. <+~+~+<+. ~+~+~+. . . . . <+~+~+:+ . <+<+. ~+~+~+<+<+<+<+~+:+ . . <+. ~+~+~+<+. ~+~+. . ~+<+<+~+~+ ", +" :+. . . . <+~+. ~+~+. . . . <+~+. :+<+. . <+~+. . . :+. ~+~+:+ :+. :+. ~+~+. . . :+. ~+~+:+ . . . . ~+~+ . . . <+~+:+ . <+~+~+:+ . . . <+~+. . . <+~+. :+. :+. ~+~+<+<+. . . ~+~+ . . . <+~+. . . . ~+<+ . . . . ~+<+:+. . ~+~+ . . . ~+. ~+. . <+~+<+. ~+~+ . ~+:+. . <+~+. . . . . ~+~+. . <+. . ~+. . . :+. ~+~+ <+. ~+~+. <+<+<+. ~+~+ ", +" . . . ~+. ~+~+. . :+. <+~+<+. . :+. ~+~+. . . :+. ~+~+ :+. :+:+~+~+:+ . . . ~+~+ . . . . ~+<+ :+. . . ~+. . . :+<+~+~+:+ . :+. <+~+~+ ~+~+~+~+. :+. :+. ~+~+. . . :+. ~+~+:+ . . . <+~+<+. <+~+~+<+ . . . . ~+~+:+~+~+~+~+ :+. :+. <+. <+. :+. ~+<+<+~+. :+. ~+<+:+:+. ~+<+ . . . . ~+~+. . . . <+~+<+ . . :+. ~+~+:+~+<+~+~+. . . . <+~+~+ ", +" :+. <+. ~+. ~+~+:+ . <+~+<+<+<+<+<+<+. ~+~+. . . <+. ~+~+ :+. . . ~+~+:+ . . . . ~+~+ . <+<+. ~+<+ . ~+<+<+~+~+<+. . <+<+:+ . <+~+. . . <+:+~+~+~+. :+. . <+<+<+<+<+<+<+<+~+~+:+ . <+~+<+<+. . <+~+~+<+ . <+<+<+<+. <+. ~+~+~+ <+<+<+. . . . <+. <+<+~+~+. . . <+~+. . . ~+~+ . <+<+<+<+<+<+~+<+. ~+~+<+ . . <+<+<+<+<+. ~+~+~+. . <+<+<+~+~+ ", +" . :+. :+<+~+. . . :+:+:+:+ . . <+~+~+:+ . . :+~+~+ :+. . :+~+~+:+ . :+. . ~+~+ . :+. . ~+<+ . . :+. . :+:+~+:+ . . :+:+:+. ~+. . . . :+:+:+<+ :+. . ~+~+~+ . . :+:+:+. ~+:+. . . . :+. :+:+:+~+. . . . <+:+<+. :+. :+<+:+. ~+~+:+ . :+. ~+. . :+~+~+:+ . :+. <+:+~+~+~+. . :+. :+:+:+~+<+. . . :+. . . <+~+<+ ", +" . :+. ~+:+~+:+ . ~+. <+~+~+~+. ~+:+~+. . . ~+. ~+~+ :+. ~+. ~+~+:+ . . ~+. ~+~+ . . ~+. ~+<+ <+<+:+ ~+~+:+<+~+ . ~+. <+~+~+~+~+ :+. ~+:+<+<+<+. ~+:+~+~+. . ~+. <+~+~+~+. . . ~+. ~+~+~+<+ . . ~+. . . ~+. :+:+~+~+ . <+. <+~+. . . <+. <+<+. ~+<+. ~+~+:+ . . ~+. ~+~+~+~+ . . . ~+~+. ", +" :+. :+~+. <+. . . :+<+~+~+~+. <+:+<+. . :+~+:+~+~+ :+:+~+:+~+~+:+ :+:+:+ . :+~+:+~+~+ :+:+:+ . . <+. ~+<+ . . . <+~+<+:+:+~+. . ~+. . . . <+~+~+~+~+ :+:+~+ ~+~+~+. . . <+~+. :+ . . . <+~+~+~+. <+:+ . . . . ~+~+~+<+<+. . . ~+:+ <+. <+. . ~+~+ :+. :+. . ~+<+ . . . . ~+~+~+:+~+:+~+<+. . :+~+:+~+~+~+<+. <+ . . . ~+~+. ", +" . :+ . :+. :+~+:+ . . :+<+~+<+. . . :+<+~+ . . :+~+~+ :+:+. ~+~+:+ <+. <+ . . :+~+~+ :+. <+. . . . ~+<+ . <+:+. ~+~+. . . :+~+<+ . . :+<+~+<+:+:+ :+:+. ~+~+<+. :+. . . ~+:+ . . :+<+~+<+<+ . ~+:+ . :+. . ~+~+. :+:+~+:+ :+. . :+ <+~+:+. . ~+<+ . :+:+<+<+<+:+. :+~+~+ . :+:+. ~+~+. :+. ~+ . . . . :+~+~+:+. ~+. . . . ~+~+. ", +" :+. . ~+:+:+:+. <+ . :+ <+~+. :+. :+ <+~+. . :+:+~+~+ :+:+:+ ~+~+:+:+. :+~+. . :+:+~+~+ . :+. ~+:+ . :+. ~+<+ . . <+ :+~+ :+. ~+~+ . :+ <+~+. :+:+:+ ~+~+:+. :+. . ~+<+ . :+ <+~+. . . ~+. . :+. ~+<+. :+:+~+~+ <+:+:+ ~+~+ . <+~+. . :+~+~+~+:+:+ ~+~+:+ . :+. ~+<+ . :+ ~+ . ~+:+. :+:+~+~+:+. ~+~+:+:+~+~+~+~+:+ ", +" . :+ ~+~+<+ :+:+~+. :+. :+ . ~+<+. :+ ~+~+. . :+ ~+~+ . :+:+ . ~+<+. :+:+~+~+ . :+ <+~+. . . ~+<+ :+. :+:+~+<+ . . <+:+:+<+ :+. ~+~+ :+. :+ . ~+. . :+:+ <+~+:+:+:+:+ :+:+~+~+:+. :+ <+~+<+. . ~+<+:+. :+. ~+~+. :+~+~+ <+:+:+ ~+~+:+:+ ~+~+. :+. :+~+~+~+:+:+ . ~+<+ :+. :+:+~+<+ . :+ :+ . ~+. . :+:+~+~+. :+ ~+~+. . :+:+~+~+ ", +" :+<+:+ :+<+~+. :+<+:+. . :+ :+:+:+ . ~+~+. <+:+ :+<+:+<+. :+~+~+<+:+ . ~+<+ :+<+:+ . <+ . :+. . :+ :+~+~+~+ . . :+. <+ <+. :+<+. . . ~+~+. :+. . . ~+~+<+:+ . . :+ :+~+~+ . :+ :+~+~+. :+~+~+:+. . . ~+. :+<+~+. <+:+ . <+:+. ~+~+<+:+ :+. :+ ~+~+. . <+~+ ", +" . . . . . <+. :+. ~+~+~+. . . <+. :+~+~+. . ~+<+ :+:+ <+. . . <+. :+ :+. ~+~+~+<+ . ~+. . :+~+:+. :+ <+~+~+ . ~+~+:+ :+~+~+ :+. . ~+<+. :+~+~+ . ~+ :+~+~+:+ <+<+:+. :+~+~+. ~+~+. . . . ~+~+. ", +" :+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+:+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+<+ :+~+~+~+~+~+~+~+~+<+~+~+~+~+~+~+~+~+~+~+~+:+ . ~+~+~+~+~+~+~+~+ <+~+~+~+~+~+~+~+~+:+~+<+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+ ~+~+~+~+<+<+~+~+~+<+ . ~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+. <+~+<+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+. :+~+~+~+~+. ", +" :+~+~+~+~+~+~+~+~+~+~+~+~+<+<+~+~+~+~+~+~+~+~+~+~+~+:+ :+~+~+~+~+~+~+~+. ~+~+~+~+~+~+~+~+~+~+~+~+:+~+~+~+~+~+~+~+~+~+~+~+<+ . ~+~+~+~+~+~+~+. ~+~+~+<+<+~+~+~+~+~+:+ <+~+~+~+~+~+~+~+ :+~+~+~+~+~+~+~+~+ . ~+~+~+~+:+<+~+~+~+~+~+~+~+~+~+~+<+. ~+~+~+~+~+~+~+~+~+~+~+ :+~+~+~+. :+~+~+~+<+ . ~+~+~+~+~+~+~+~+~+~+~+~+~+. ~+~+~+~+~+~+~+. :+~+~+~+~+<+:+~+~+~+~+~+~+~+~+~+~+~+. . ~+~+~+. ", +" :+. . . . . . . . . . . . :+. . . . . . . . . . :+ . . . . . . . :+:+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . :+:+. . :+ :+. . :+ :+. . . . . . . :+. . . . . . . :+. . :+ :+. . . . . . . . . . . . . . . . . . . . . . . . . :+ :+. . :+ . . . . . . :+. . . . . . . . . . . . . :+ . . :+ . . . . . . . . . . . :+ :+. . ", +" ", +" ", +" ", +" ", +" . ~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+~+", +" _+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+_+", +" . . . ", +" [ k [ . . . U [+. . . . . . . . . . . . . !+F 4.. . . T . . Y . . . . . . . U [+. . . . . . . . U [+. . . . . . . . . . . W.Z.. ", +" D @ D . . . . . . _ . . . . . . . . . . . . . . . @ . a.@ . . _ . . }.C.}+@ - m . . v.# @ ... $.4 $.!.. | ..@ . A 0.. . . '.#. .p @ w. . _ . a.@ . V.@ _.@ 4 @ V.a.@ . . . . . . . . . . U - x - $ p 0 . . . . . . . @ . @.@ . ", +" a.% . | |+. @ . . R ` 1+. . . . . . . . . . i.2+I . 3+R.4 @ . @ . . . v.#.= . *.y.W.. J.)+F @ 5 . . . . . 3+R.4 @ D i . . . . . . @ . . . . @ . . . _.Y.+.a.* 1.' . 4+q.= @ . p ^ #+5+. . . @ . % @ . . 6+Y.. . . 1+= . R ` 1+. @ . . @ . . . . . . . . . . . . . @.V.Y @ Y V.@.. @ . . . . *.y.W.. 1 [.6 *+F 6.).. i.2+I . Y R #.S.Q.9.. . . F H S ^.. L.7+Y i.2+I . D i . . @ . ", +" h @ n.!.4.. @ . . 2+< v.`.1 [.u E . 1 [.u E . @ +.$.w . A @ :.9.9 @ 4 c . 8+9+<.F y.4 T 0+K U @ 9 _.+ 8 j.@.@ b A @ :.9.C @ . a+<.b+E 5.. @ 6 E . 9 @ 4 c . ,+@ c . D *.k. . @.. } p . @ C O @ . . @ . ! @ . . x I . . 2+< v.`.9 @ 4 A @ 6 E . =.j.@.@ b 1 [.u E . . @ . . @ 6 E . y.4 T 0+K U @ c+# N B x . @ +.$.w . # u.r M.@ ! . c @ U @ . U @ d++.$.w . C @ . . @ . ", +" . 8 $ Y . . @ . . @ z ` @ A @ 9 x . A @ 9 x . s 2+i.@ . . @ Y . @ . . . # > . 4.@ ;+. D @ . @ . ;+@ O @ . $ 1+. @ Y . @ . @ I D @ . . @ [+x . . @ . . . | / W.. 1+F.Q. . 4.e+[ . @ ; O 1.. . @ . . D . @ 4.. . @ a . 5 3.v z ` @ . @ . . @ [+x . 0 @ . $ 1+A @ 9 x . . @ . . @ [+x . @ ;+. D @ . @ Y @ . Y @ . s 2+i.@ . .@ 7 [ @ ++. ;+j . @ . . @ @.2+i.@ . . @ . . @ . ", +" . ].$ :.. . @ . . ; 9 ] c+. . . @ . @ . . @ . @ . @ ++A @ . Y @ Y . @ Y . . @ L.. . & R . >+)+. @ Y L.u . 2 g | . Y @ Y Y @ . Q.d ..&.. . @ . @ . . @ Y . . w.y.f+g+Z.@ ;+ . Y ^.[ . . [.W.|+) . . @ . u.@ @ @ #.. . O . . 7 3 V . . V @ 0+c+. . . @ Y . @ . @ . . 2 g | . . @ . @ . Y @ Y . @ . @ . & R . >+)+Y @ Y @ . . @ Y @ ++A @ . p.I h+@ z z . . . b.$.. & O o.@ Q >.A @ . Y @ . . @ . ", +" #.9.N.@ ^ R @ <.6 @ :.i @ 6 e+[ @ % @ h [ @ % @ h 3 .+v.@ i u.@ N . * 4 4.. i j.q h D.O.P.b+k . @ 7 2 ^ . (.@ i+ u.@ N [+@ L.3 @ ) J J.[ @ % @ h . * 4 4.. j+=.6 f+/ *.. . 3 @ + @ r d+{ f+B . i.@ 1 Y 4.W.@ [ . M.@ . . Y Q.1./.b o ~ W.@ 6 e+. * 4 [ @ % @ h . (.@ i+ [ @ % @ h 3.@ g [ @ % @ h D.O.P.b+k (.@ i.@ M.. @ (.3 .+v.@ i @ %.P.!+U j + q +.7+. . G..+J.@ @ < v.@ i [+@ L.[+@ [+ ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . Y k+. . . . . . . 1.l+A A.@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . e+n.. . . . . . . . . . . . . . . . . . . . Y k+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . b./ @ J ,.. . . . . . . . . . . . . . . . ", +" 4.@ 4. . . H 1 . . e+7., +.g . . ` . . . H 1 . . . U &.H. ", +" [+` p. . @ #.. . . . . . . . @ #.. ", +" . . . . . . . . . . . ", +" . . . . . . . . . ", +" . . . . . . . . . W.Z.. W.Z.. . . . U [+. . . . . . . . . T . . . <.!+4.. . <.!+4.. . Y . . . . . . . U [+. . R @ 3+ ", +" K.@ 3+0+H . . @ . @.@ . @.@ . . . . . . . . . . . . . . . @ . a.@ . . _ . . }.C.}+@ - m . | ..@ . . m+n+<.Q.. m+n+<.Q.. A 0.. 1 @ <.< ,.. . . . a.@ . . b T . _ . ", +" a.% . | |+Y @ . D @ . D i . . @ . . @ . . v.#.= . *.y.W.. J.)+F @ 5 . . . . . 3+R.4 @ D i . . . . . . @ . . . . @ . . . _.Y.+.a.* 1.' . . @ . . @ ;+}.@ . @ ;+}.@ . % @ . Y @ . c @ Y R #.}.. . . . . . v.#.= . @ . . . . *.y.W.. Y R #.o+. *.y.W.. 4.@ T V @ . . ", +" h @ n.!.4.. @ _ G.s.. C @ . . @ . . @ . . 8+9+<.F y.4 T 0+K U @ 9 _.+ 8 j.@.@ b A @ :.9.C @ . a+<.b+E 5.. @ 6 E . 9 @ 4 c . ,+@ c . D *.k. . @ . . 1.p+_ @ . 1.p+_ @ . ! @ . . @ ' P m.0.u.r g+=.j.@.@ h+8+9+<.@ . @ 6 E . y.4 T 0+K 0.u.r M.y.4 T 0+K [ @ 1 u.@ 4 c ", +" . 8 $ Y . . @ A Z.] . . @ . . @ . . @ . . # > . 4.@ ;+. D @ . @ . ;+@ O @ . $ 1+. @ Y . @ . @ I D @ . . @ [+x . . @ . . . | / W.. 1+F.Q. . @ . . q+@ < `.. q+@ < `.. D . @ 4.. . @ . . . .@ 7 B.}.@ . $ Y # > . X.. @ [+x . @ ;+. D @ 2 @ 7 |+@ ;+. D @ . @ . . @ . . ", +" . ].$ :.. . @ . ^ @ . Y @ . . @ . . @ . . @ L.. . & R . >+)+. @ Y L.u . 2 g | . Y @ Y Y @ . Q.d ..&.. . @ . @ . . @ Y . . w.y.f+g+Z.@ ;+ . @ . . . Z.4 . . . Z.4 u.@ @ @ #.. . O . Y @ Y . p.I h+@ . 2 g | . @ L.. . . @ . @ . & R . >+)+T I h+# & R . >+)+. @ . . @ Y . ", +" #.9.N.@ ^ a @ = %.f . [+@ L.[+@ [+[+@ [+ . i j.q h D.O.P.b+k . @ 7 2 ^ . (.@ i+ u.@ N [+@ L.3 @ ) J J.[ @ % @ h . * 4 4.. j+=.6 f+/ *.. i.@ 1 ^.@ . ^.@ . . 4.W.@ [ . M.@ . s.@ M. . @ %.P.!+. (.@ i+. i j.q &.[ @ % @ h D.O.P.b+k - %.P.!+r O.P.b+k S @ x.. * 4 4. ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . Y k+. . . . . . . 1.l+A A.@ . . . . . . . . . . . . . . . . . . E 4 . . E 4 . . . . . . e+n.. . . . . . . . . . Y k+. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +" 4.@ 4. . . H 1 . . e+7., +.g . . ` . . . H 1 . ", +" [+` p. . @ #.. . . . . . . . @ #.. ", +" . . . . . . . . . . . ", +" . . . ", +" . . . . . . . U [+. . . . W.Z.. . . . U [+. U [+. . . . . . . ", +" V.@ _.@ 4 @ V.a.@ . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . _ . . . . . . . @.@ . . _ . . . . . . . . . . . . . . . . . . @ . a.@ . . _ . . _ . a.@ . . @ . . . . . . . . . . . . . . . . . . . . . _ . . @ . . . . . . . ", +" @.V.Y @ Y V.@.. @ . . . . R ` 1+. . i r+X.| 9. i.2+I . 3+R.4 @ D i . . *.y.W.. S ^.. L.7+Y R #. . v.#.= . *.y.W.. 1 [.6 *+F 6.).. J.)+F @ 5 S ^.. L.7+. @ . . R ` 1+3+R.4 @ . . @ . . *.y.W.. . . . . . . *.y.W.. Y R #. . R ` 1+. @ . . v.#.= . . v.#.= . *.y.W.. J.)+F @ 5 . . . . . 3+R.4 @ D i . . . . . . @ . . . . @ . . . @ . . @ . . . . R ` 1+D i . 3+R.4 @ . . 3+R.4 @ . R ` 4.Y R #.q.J.)+F @ 5 . R ` 1+. v.#.= . @ . D i . i r+X.| 9.. R ` 1+. . . *.y.W.. {.@+! ++. +1 X.. . . . . . R ` 1+3+R.4 , Y R #. ", +" . @ . . @ 6 E . 2+< v.`.. . H.O.Y @ P.@ +.$.w . A @ :.9.C @ . y.4 T 0+K U @ . U @ e u.r H. . 8+9+<.F y.4 T 0+K U @ c+# N B x . U @ 9 _.+ U @ . U @ 9 @ 4 | < v.`.A @ :.9.. . @ . y.4 T 0+K *.<.b+E 5.y.4 T 0+K 0.u.r H. . 2+< v.`.9 @ 4 Z.9+<.@ . . 8+9+<.F y.4 T 0+K U @ 9 _.+ 8 j.@.@ b A @ :.9.C @ . a+<.b+E 5.. @ 6 E . 9 @ 4 c 9 @ 4 A @ 6 E . 2+< v.`.C @ . A @ :.9.. . A @ :.N 2+< v.`.# u.r H.U @ 9 _.+ :.< v.2 8+9+<.@ 9 @ 4 @.@ . H.O.Y @ f 2+< v.`.. . y.4 T 0+K ` w V @ k s+@ S.1 [.u E . 2+< v.`.A @ :.M.# u.r H. ", +" . @ . . @ [+x . @ z ` @ . . C @ 4.- . s 2+i.@ . . @ Y . @ . @ ;+. D @ . @ . . @ '+@ 7 B.. . # > . 4.@ ;+. D @ . @ Y @ . Y @ . . @ . ;+@ . @ . . @ . @ . @ z ` @ . @ Y . @ . @ ;+. D @ 6.I D @ . @ ;+. D @ 2 @ 7 B.. . @ z ` @ . @ . # > . X.. . # > . 4.@ ;+. D @ . @ . ;+@ O @ . $ 1+. @ Y . @ . @ I D @ . . @ [+x . . @ . . . @ . . @ [+x . @ z ` @ . @ . . @ Y . @ Y . @ z ` @ .@ 7 B.. @ . ;+@ { z ` M # > . X.. @ . . @ . C @ 4.- . @ z ` @ . . @ ;+. D @ C @ k J f+8.p.. A @ 9 x . @ z ` @ . @ Y . .@ 7 B.. ", +" Y @ Y . @ . @ . ] c+. . . . d 7.*.. @ ++A @ . Y @ Y Y @ . & R . >+)+. & O o.@ >.}.h+@ . . @ L.. . & R . >+)+Y @ Y @ . . @ Y . @ Y L.u . & O o.@ Y @ Y ] c+. . Y @ Y . @ . & R . >+)+P d ..&.. & R . >+)+T I h+@ . O . . ] c+. . . @ Y @ L.. . 4.1+. . @ L.. . & R . >+)+. @ Y L.u . 2 g | . Y @ Y Y @ . Q.d ..&.. . @ . @ . . @ Y . . @ Y . @ . @ . ] c+. . Y @ . Y @ Y Y @ Y . ] c+. . p.I h+@ . @ Y L.u u c+. . @ L.. . . @ Y Y @ . . d 7.*.. ] c+. . . . & R . >+)+. + t+Y @ Z. . @ . @ . ] c+. . Y @ Y . p.I h+@ Y 1+. ", +" 3.@ g [ @ % @ h i @ 6 e+ . ++@ . . 3 .+v.@ i u.@ N [+@ L.D.O.P.b+k . G..+J.@ @ J.P.!+. . i j.q h D.O.P.b+k (.@ i.@ M.. @ (.. @ 7 2 ^ . G..+J.@ = * 4 r+@ 6 e+u.@ N [+@ [+D.O.P.b+k 3 @ ) J J.u+O.P.b+k - %.P.!+U.@ . . i @ 6 e+. * 4 i j.q &.'.@ . . i j.q h D.O.P.b+k . @ 7 2 ^ . (.@ i+ u.@ N [+@ L.3 @ ) J J.[ @ % @ h . * 4 4. . * 4 [ @ % @ h i @ 6 e+[+@ L.u.@ N u.@ N . i @ 6 Y.@ %.P.!+. @ 7 2 ^ i @ 6 J.i j.q &.. * 4 a.@ L.. ++@ . . i @ 6 e+ . D.O.P.b+k . Q.z . H h+ [ @ % @ h i @ 6 e+u.@ N . @ %.P.!+D.@ . ", +" . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . 1.l+A A.@ . . . . . . . . . e+n.. . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . Y k+. . . . . . . 1.l+A A.@ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . @ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +" 4.@ 4. . e+7., +.g . . ` . 4.@ 4. . e <.. . e+7., +.g . 4.@ 4. "}; diff --git a/pixmaps/arch.xpm b/pixmaps/arch.xpm new file mode 100644 index 0000000..8f95bc0 --- /dev/null +++ b/pixmaps/arch.xpm @@ -0,0 +1,173 @@ +/* XPM */ +static char * arch_xpm[] = { +"28 24 146 2", +" c None", +". c #BAB9B9", +"+ c #93AFBE", +"@ c #9CB3BE", +"# c #B7B8B9", +"$ c #55A0C6", +"% c #6AA8C6", +"& c #9AB1BD", +"* c #2997CD", +"= c #3E9ECD", +"- c #A9B6BC", +"; c #6DA7C5", +"> c #1E96D1", +", c #2498D2", +"' c #81AEC5", +") c #AAB5BC", +"! c #45A0CE", +"~ c #2599D3", +"{ c #2499D3", +"] c #56A5CE", +"^ c #B0B7BA", +"/ c #8EB1C2", +"( c #2F9DD4", +"_ c #2C9DD5", +": c #2A9CD4", +"< c #35A0D5", +"[ c #8EB3C5", +"} c #B2B6B9", +"| c #84AFC5", +"1 c #5DA8CC", +"2 c #33A0D6", +"3 c #319FD6", +"4 c #64ABCF", +"5 c #B2B7BA", +"6 c #8AB2C5", +"7 c #43A5D7", +"8 c #5AA9CF", +"9 c #4AA5D3", +"0 c #38A2D6", +"a c #36A1D7", +"b c #41A4D6", +"c c #93B4C5", +"d c #B0B7BB", +"e c #66ADD1", +"f c #46A9DA", +"g c #44A7D9", +"h c #45A6D7", +"i c #3FA5D7", +"j c #3DA4D8", +"k c #3BA4D8", +"l c #69ADCF", +"m c #B3B7BA", +"n c #8EB4C7", +"o c #51ADDB", +"p c #4BABDB", +"q c #41A6D9", +"r c #37A1D7", +"s c #309ED5", +"t c #329FD6", +"u c #3FA4D6", +"v c #91B3C5", +"w c #AFB7BC", +"x c #6DB1D3", +"y c #40A6D9", +"z c #2B9CD5", +"A c #1C95D2", +"B c #1793D1", +"C c #1A94D1", +"D c #4FA2CB", +"E c #7DADC5", +"F c #2F9DD3", +"G c #1994D1", +"H c #1692CF", +"I c #389ACB", +"J c #3699CB", +"K c #1B92D0", +"L c #7BABC3", +"M c #A3B3BC", +"N c #3B9BCA", +"O c #5FA3C5", +"P c #ADB5BA", +"Q c #53A0C7", +"R c #419DC9", +"S c #AAB5BB", +"T c #69A6C3", +"U c #2B97CC", +"V c #9DB2BC", +"W c #90AFBE", +"X c #2396CF", +"Y c #1792D0", +"Z c #73A8C2", +"` c #9BB1BD", +" . c #3198CC", +".. c #439DCA", +"+. c #B4B8BA", +"@. c #AFB6BA", +"#. c #1893D0", +"$. c #2396CD", +"%. c #469DC9", +"&. c #A4B3BB", +"*. c #61A4C5", +"=. c #499EC8", +"-. c #B3B7B9", +";. c #3F9BCA", +">. c #489EC8", +",. c #A3B3BB", +"'. c #90AFBF", +"). c #2896CD", +"!. c #1792CF", +"~. c #62A4C6", +"{. c #B0B6BA", +"]. c #59A2C7", +"^. c #2695CD", +"/. c #5CA2C5", +"(. c #A9B4BA", +"_. c #B6B8B9", +":. c #55A1C6", +"<. c #2095CF", +"[. c #4A9FC9", +"}. c #78A9C3", +"|. c #9FB2BC", +"1. c #B2B7B9", +"2. c #B1B6B9", +"3. c #71A7C2", +"4. c #439CC9", +"5. c #1C93D0", +"6. c #63A5C4", +"7. c #B8B9B9", +"8. c #B2BBBD", +"9. c #B9B9B9", +"0. c #85ACC0", +"a. c #2996CD", +"b. c #89AEC0", +"c. c #80AAC0", +"d. c #4B9EC9", +"e. c #3098CD", +"f. c #93B0BF", +"g. c #B8B8B9", +"h. c #B1B6BA", +"i. c #81ABC0", +"j. c #86ADC0", +"k. c #B5B7B9", +"l. c #B1B7BA", +"m. c #7DAAC1", +"n. c #87ACBF", +"o. c #AEB6BA", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . + @ . . . . . . . . . . . . . ", +". . . . . . . . . . . . # $ % . . . . . . . . . . . . . ", +". . . . . . . . . . . . & * = - . . . . . . . . . . . . ", +". . . . . . . . . . . . ; > , ' . . . . . . . . . . . . ", +". . . . . . . . . . . ) ! ~ { ] ^ . . . . . . . . . . . ", +". . . . . . . . . . . / ( _ : < [ . . . . . . . . . . . ", +". . . . . . . . . . } | 1 2 3 3 4 5 . . . . . . . . . . ", +". . . . . . . . . . 6 7 8 9 0 a b c . . . . . . . . . . ", +". . . . . . . . . d e f g h i j k l m . . . . . . . . . ", +". . . . . . . . . n o p q r 3 s t u v . . . . . . . . . ", +". . . . . . . . w x y z A B B B B C D d . . . . . . . . ", +". . . . . . . . E F G B H I J B B B K L . . . . . . . . ", +". . . . . . . M N B B H O P M Q B B B R S . . . . . . . ", +". . . . . . . T H B B U V . . W X B B Y Z . . . . . . . ", +". . . . . . ` .B B B ..+.. . @.I B #.$.%.&.. . . . . . ", +". . . . . . *.H B B B =.# . . -.;.B B U >.,.. . . . . . ", +". . . . . '.).B B !.* ~.} . . {.].^.H B #./.(.. . . . . ", +". . . . _.:.B <.[.}.|.1.. . . . 2.& 3.4.5.H 6.7.8.9.. . ", +". . . . 0.a.Q b.} . . . . . . . . . . @.c.d.e.f.8.g.. . ", +". . . h.i.j.k.. . . . . . . . . . . . . . l.m.n.g.. . . ", +". . . . 5 . . . . . . . . . . . . . . . . . . o.. . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/pixmaps/billA_0.xpm b/pixmaps/billA_0.xpm new file mode 100644 index 0000000..d6a632f --- /dev/null +++ b/pixmaps/billA_0.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_0_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFFF7", +"% c #DEDEBD", +"& c #292929", +" ", +" ", +" ........ ", +" ..++++++++... ", +" .+++++++++++++.. ", +" .++++++++++++++++.. ", +" .+++++++++++++++.++. ", +" ..++++++++++++++.+++. ", +" .++++++++++++++++++++. ", +" .++++++++++++++++++++++.", +" .++++++++++@@@@++++++++.", +" .++@@@@+++@####@+++++++.", +" .+@####@+@#####@+++++++.", +" .@####@+@##### @@@@+.+.", +" @#####@@######@$%.+.. ", +" @#####@@######@%$... ", +" @#####@$@#####@$%. ", +" @@###@$%@####@$%. ", +" @@@$%$%@@@@$... ", +" .%.%$%$%$%. ", +" .$%.%$%$.$. ", +" ..$%$%$.... ", +" ..&&.$%$..&&&. ", +" .&&.&....&&&&&. ", +" .&.&.&.&&.&&&&&&. ", +" .&.&.&.&.&&&&&&&&. ", +" .&&.&&..&.&&.&&&&&. ", +" ..&.&&...&&&&.&&&&&. ", +" .$%..&&&..&&&&.&&&... ", +" .% %.&&&.&&&&&&.&.%$. ", +" .% .&&&.&&&&&&&.%$%$. ", +" .. .............%$. ", +" .&&&&&&&&. .. ", +" .&&&&&&&&. ", +" .&&.&&&&. ", +" .&&.&&&. ", +" .&&.&&&. ", +" ........... ", +" ............. ", +" ........... ", +" "}; diff --git a/pixmaps/billA_1.xpm b/pixmaps/billA_1.xpm new file mode 100644 index 0000000..b442a84 --- /dev/null +++ b/pixmaps/billA_1.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_1_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFFF7", +"% c #DEDEBD", +"& c #292929", +" ", +" ", +" ....... ", +" .++++++. ", +" ...++++++++.... ", +" .+++++++++++++++. . ", +" .++++++++++++++++.+. ", +" ..++++++++++++++.++. ", +" .++++++++++++++++++++. ", +" ..+++++++++++++++++++++. ", +" .++++++++++++++++++++++. ", +" .++++++++++@@@@++++++++. ", +" .++@@@@+++@####@+++++++. ", +" .+@####@+@#####@+++++.+. ", +" .@####@+@######@@@@+.+. ", +" @#####@@######@$%.+.. ", +" @#####@@######@%$.. ", +" @#####@$@#####@$%. ", +" @@###@$%@####@$%. ", +" @@@$%$%@@@@$... ", +" .%.%$%$%$%. ", +" .$%.%$%$.$. ", +" ..$%$%$.... ", +" ..&&.$%$..&&&. ", +" .&&.&....&&&&&. ", +" .&.&.&.&&.&&&&&&. ", +" .&.&.&.&.&&&&&&&&. ", +" .&&.&&..&.&&.&&&&&. ", +" ..&.&&...&&&&.&&&&&. ", +" .$%..&&&..&&&&.&&&... ", +" .% %.&&&.&&&&&&.&.%$. ", +" .% .&&&.&&&&&&&.%$%$. ", +" .. .............%$. ", +" .&&&&&&&&&&&.. ", +" .. .&&..&&&&&.. ", +" ....&&&&....&.... ", +" ......&&. ...... ", +" ........ ....... ", +" ....... ...... ", +" ... .... ", +" "}; diff --git a/pixmaps/billA_10.xpm b/pixmaps/billA_10.xpm new file mode 100644 index 0000000..6f9875b --- /dev/null +++ b/pixmaps/billA_10.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_10_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #DEDEBD", +"# c #000000", +"$ c #FFFFFF", +"% c #FFFFF7", +"& c #292929", +" ....... ", +" . .+++++++.... ", +" .+.++++++++++++. ", +" ..++++++++++++++++. ", +" ..+++++++++++++++++. ", +" .++++++++++++++++++. ", +" .+++++++++++++++++... ", +" .+++++++++++++++++++.. ", +" .++++++++++++++++++++. ", +" .++++..+++++++++++++. ", +" .....@.++++++++++++. ", +" ######.++++++++++. ", +" #$.@$@..++++++++. ", +" #$.$@$@.++++++++. ", +" #.@$@.++++++++. % ", +" .@$@..++++++. ", +" .$@$@...++++. ", +" ...$............ ", +" ...&&&&&&&&&&&. ", +" ...&&&&&&&&&&&&&&. ", +" ...&&&&&&&&&&&&&&&&&. ", +" .....&&&&&&&&&&&&&&&&&&&.. ", +" . @.&&&&&&&&&&&&&&&&&&.. ", +" .@ .&&&&&&&&&&&&&&&&&&. % ", +" ....&&&&&&&&&&&&&&&&&. ", +" ......&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&. ", +" .&&&&&&.....&&. ", +" .&&....&&&&&.&. ", +" ...&&&&&&&&&. ", +" .&&&&&&&&&&. ", +" .&&&&&.&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&. .&&&&. ", +" .&&&&&. .&&&&. ", +" ....... ..... ", +" ......... ...... ", +" ....... .... ", +" "}; diff --git a/pixmaps/billA_11.xpm b/pixmaps/billA_11.xpm new file mode 100644 index 0000000..0e19a4c --- /dev/null +++ b/pixmaps/billA_11.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_11_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #DEDEBD", +"# c #000000", +"$ c #FFFFFF", +"% c #FFFFF7", +"& c #292929", +" ....... ", +" . .+++++++.... ", +" .+.++++++++++++. ", +" ..++++++++++++++++. ", +" ..+++++++++++++++++. ", +" .++++++++++++++++++. ", +" .+++++++++++++++++... ", +" .+++++++++++++++++++.. ", +" .++++++++++++++++++++. ", +" .++++..+++++++++++++. ", +" .....@.++++++++++++. ", +" ######.++++++++++. ", +" #$.@$@..++++++++. . ", +" #$.$@$@.++++++++..@. ", +" #.@$@.++++++++...%. ", +" .@$@..+++++...... ", +" .$@$@...+++.&&... ", +" ...$......&&&&. ", +" ...&&&&&&&&&. ", +" ...&&&&&&&&&&.. ", +" ..&&&&&&&&&&&... ", +" .&&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&&&&. % ", +" .&&&&&&&&&&&&&&&&&. ", +" .&&&&&&.&&&&&&&&&&&. ", +" ..&&&..&&&&&&&&&&&&&. ", +" ..@..&. .&&&&&&&&&&&&&. ", +" .@ .. . .&&&&&&.....&&. ", +" .. .&&....&&&&&.&. ", +" ...&&&&&&&&&. ", +" .&&&&&&&&&&. ", +" .&&&&&.&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&. .&&&&. ", +" .&&&&&. .&&&&. ", +" ....... ..... ", +" ......... ...... ", +" ....... .... ", +" "}; diff --git a/pixmaps/billA_12.xpm b/pixmaps/billA_12.xpm new file mode 100644 index 0000000..5a1de6e --- /dev/null +++ b/pixmaps/billA_12.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_12_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #DEDEBD", +"% c #FFFFF7", +"& c #292929", +" ", +" ", +" ", +" ....... ", +" .++++++. ", +" ....++++++++... ", +" . .+++++++++++++++. ", +" .+.++++++++++++++++. ", +" .++.++++++++++++++.. ", +" .++++++++++++++++++++. ", +" .+++++++++++++++++++++.. ", +" .++++++++++++++++++++++. ", +" .++++++++@@@@++++++++++. ", +" .+++++++@####@+++@@@@++. ", +" .+.+++++@#####@+@####@+. ", +" .+.+@@@@######@+@####@. ", +" ..+.$%@######@@#####@ ", +" ..%$@######@@#####@ ", +" .$%@#####@%@#####@ ", +" .$%@####@$%@###@@ ", +" ...%@@@@$%$%@@@ ", +" .$%$%$%$.$. ", +" .%.%$%$.$%. ", +" ....%$%$%.. ", +" .&&&..%$%.&&.. ", +" .&&&&&....&.&&. ", +" .&&&&&&.&&.&.&.&. ", +" .&&&&&&&&.&.&.&.&. ", +" .&&&&&.&&.&..&&.&&. ", +" .&&&&&.&&&&...&&.&.. ", +" ...&&&.&&&&..&&&..$%. ", +" .%$.&.&&&&&&.&&&.$ $. ", +" .%$%$.&&&&&&&.&&&. $. ", +" .%$............. .. ", +" ..&&&&&&&&&&&. ", +" ..&&&&&..&&. .. ", +" ....&....&&&&.... ", +" ...... .&&...... ", +" ....... ........ ", +" ...... ....... ", +" .... ... "}; diff --git a/pixmaps/billA_2.xpm b/pixmaps/billA_2.xpm new file mode 100644 index 0000000..8e13ae6 --- /dev/null +++ b/pixmaps/billA_2.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_2_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFFF7", +"% c #DEDEBD", +"& c #292929", +" ", +" ", +" ........ ", +" ..++++++++... ", +" .+++++++++++++.. ", +" .++++++++++++++++.. ", +" .+++++++++++++++.++. ", +" ..++++++++++++++.+++. ", +" .++++++++++++++++++++. ", +" .++++++++++++++++++++++. ", +" .++++++++++@@@@++++++++. ", +" .++@@@@+++@####@+++++++. ", +" .+@####@+@#####@+++++++. ", +" .@####@+@######@@@@+.+. ", +" @#####@@######@$%.+.. ", +" @#####@@######@%$... ", +" @#####@$@#####@$%. ", +" @###@$%@####@$%. ", +" @@@$%$%@@@@$... ", +" .%.%$%$%$%. ", +" .$%.%$%$.$. ", +" ..$%$%$..... ", +" ..&&.$%$..&&&.$ ", +" .&&.&....&&&&&.$ ", +" .&.&.&.&&.&&&&&&. ", +" .&.&.&.&.&&&&&&&&. ", +" .&&.&&..&.&&.&&&&&. ", +" ..&.&&...&&&&.&&&&&. ", +" .$%..&&&..&&&&.&&&... ", +" .% %.&&&.&&&&&&.&.%$. ", +" .% .&&&.&&&&&&&.%$%$. ", +" .. .............%$. ", +" .&&&&&&&&.. .. ", +" .&&&&&&&&. ", +" .&&.&&&&. ", +" .&&.&&&. ", +" .&&.&&&. ", +" .......... ", +" ............ ", +" .......... ", +" "}; diff --git a/pixmaps/billA_3.xpm b/pixmaps/billA_3.xpm new file mode 100644 index 0000000..4836797 --- /dev/null +++ b/pixmaps/billA_3.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_3_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #FFFFFF", +"# c #000000", +"$ c #DEDEBD", +"% c #FFFFF7", +"& c #292929", +" . ", +" ......+.. ", +" ..++.++++++. ", +" .++++++++++++.. ", +" .++++++++++++.++. ", +" .++++++++++++++++. ", +" ..+++++++++++++++. ", +" .+++++++++++++++++. ", +" ..+++++++++++++++++++. ", +" .++++++++++++++++++++. ", +" .+++++++++++++++++++. ", +" .++++++...++++++++++. ", +" .+++++.@@.+++++++++.. . ", +" .+++++.@##...++++... .$. ", +" .++++.@#@@@@...... .%. ", +" ..++.@#@@@@@.@@@. ..&.. ", +" ...#@@@.@@@@@@@...&&&&. ", +" #@#.@@.@@@@@@@.&&&&&. ", +" ##@.@@.@......&&&&&&. ", +" ###.@...&&&&&&&&&&. ", +" ..&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&.. ", +" .&&&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&&&&. ", +" .&&&&&.&&&&&&&&&&&. ", +" .&&&...&&&&&&&&&&&&. ", +" .$.&. .&&&&&......&. ", +" .$ .. .&&&...&&&&..&. ", +" .. .&...&&&&&&&&. ", +" .. ..&&&&&&&&. ", +" .&&&&&&&&&. ", +" .&&&&&.&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&. .&&&&. ", +" .&&&&&. .&&&&. ", +" ....... ..... ", +" ......... ...... ", +" ....... .... ", +" "}; diff --git a/pixmaps/billA_4.xpm b/pixmaps/billA_4.xpm new file mode 100644 index 0000000..5cf10a8 --- /dev/null +++ b/pixmaps/billA_4.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_4_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #DEDEBD", +"# c #000000", +"$ c #FFFFFF", +"% c #FFFFF7", +"& c #292929", +" ....... ", +" . .+++++++.... ", +" .+.++++++++++++. ", +" ..++++++++++++++++. ", +" ..+++++++++++++++++. ", +" .++++++++++++++++++. ", +" .+++++++++++++++++... ", +" .+++++++++++++++++++.. ", +" .++++++++++++++++++++. ", +" .++++..+++++++++++++. ", +" .... @.++++++++++++. ", +" ######.++++++++++. ", +" #$.@$@..++++++++. . ", +" #$.$@$@.++++++++..@. ", +" #.@$@.++++++++...%. ", +" .@$@..+++++...... ", +" .$@$@...+++.&&... ", +" ...$......&&&&. ", +" ...&&&&&&&&&. ", +" ...&&&&&&&&&&.. ", +" ..&&&&&&&&&&&... ", +" .&&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&&&. ", +" .&&&&&&&&&&&&&&&&. % ", +" .&&&&&&&&&&&&&&&&&. ", +" .&&&&&&.&&&&&&&&&&&. ", +" ..&&&..&&&&&&&&&&&&&. ", +" ..@..&. .&&&&&&&&&&&&&. ", +" .@ .. . .&&&&&&.....&&. ", +" .. .&&....&&&&&.&. ", +" ...&&&&&&&&&. ", +" .&&&&&&&&&&. ", +" .&&&&&.&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&..&&&&. ", +" .&&&&&. .&&&&. ", +" .&&&&&. .&&&&. ", +" ....... ..... ", +" ......... ...... ", +" ....... .... ", +" "}; diff --git a/pixmaps/billA_5.xpm b/pixmaps/billA_5.xpm new file mode 100644 index 0000000..b59a99b --- /dev/null +++ b/pixmaps/billA_5.xpm @@ -0,0 +1,51 @@ +/* XPM */ +static char * billA_5_xpm[] = { +"58 41 7 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #DEDEBD", +"$ c #FFFFFF", +"% c #292929", +" ", +" ", +" ", +" ... ", +" .+++.. ", +" ......@@@@+++. ", +" .....#$#@$$$$@+++. ", +" ..$.$.$#@$$$$$@++++. ", +" ..$.$$.#$@$$$$$@+++++. ", +" .$.$$.#$#@$$$$$@+++++.. ", +" ..$..#$#$@@@@@@+++++++. ", +" ...$#@@@@@++++++++++++. ", +" .#$#@$$$$@++++++++++++. ", +" .$#@$$$$$@++++++++++++. ", +" .$@$$$$$@++++++++++++. ", +" .#@$$$$$@++++++++++.+. ", +" .@$$$$$@+++++++++++.. ", +" .$@$$$@++++++++++++. ", +" ..#@@@+++++++++++++. ", +" ..%.+++++++++++++++. ", +" .%%%%.++++++++.+++... ", +" .%%%%%..++++++++.... ", +" .%%%%%%%...++..... ", +" .%%%%%%%%%%%...... ", +" .%%%%%%%%%%%%%%%%%.. ", +" .%%%%%.%%%%%%%%%%%%%. ", +" ...%%...%%%%%%%%%%%%%. ", +" ..# ....%%%%%%%%%%%%%%%. ", +" . #... ...%%%%%%%%%%%.. ", +" ... .%......%%%.. ", +" .%%%%%%%.... ", +" .%%%%%%%%%%%. ", +" .%%%%%%...%%. ", +" .%%%%%.%%%%%. ", +" .%%%%..%%%%. ", +" .%%%%. .%%%.. ", +" .%%%%. .%%... ", +" ....... ..... ", +" ......... ...... ", +" ....... .... ", +" "}; diff --git a/pixmaps/billA_6.xpm b/pixmaps/billA_6.xpm new file mode 100644 index 0000000..2b0d44b --- /dev/null +++ b/pixmaps/billA_6.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_6_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFFF7", +"% c #DEDEBD", +"& c #292929", +" ", +" ", +" ....... ", +" ..++++++. ", +" ...++++++++.... ", +" .+++++++++++++++. . ", +" .++++++++++++++++.+. ", +" ..++++++++++++++.++. ", +" .++++++++++++++++++++. ", +" ..+++++++++++++++++++++. ", +" .++++++++++++++++++++++. ", +" .++++++++++@@@@++++++++. ", +" .++@@@@+++@####@+++++++. ", +" .+@####@+@#####@+++++.+. ", +" .@####@+@######@@@@+.+. ", +" @#####@@######@$%.... ", +" ..@#####@@######@%$.. ", +" ..@#####@$@#####@....... ", +" .$@@###@$%@####@$..%.%$. ", +" .%$%@@@$%$%@@@@$...$%$.. ", +" ....&&.%.%$%$%$.&&.%$%. ", +" .&&&.$%.%$%$.&&&.$%$. ", +" .&&&.$%$%$.&&&&..... ", +" .&&&&.$%$..&&&&&&.. ", +" .&&.&...&&&&&&&.. ", +" ..&.&.&&.&&&&&&. ", +" .&.&.&.&&&&&&. ", +" .&&..&.&&&&&&. ", +" .&&...&&&&&&&. ", +" .&&&..&&&&&&&. ", +" .&&&.&&&&&&&&. ", +" .&&&.&&&&&&&.. ", +" ............ ", +" .&&&&&&&&&&. ", +" .. .&&..&&&&&... ", +" ....&&&&....&.... ", +" ......&&. ...... ", +" ........ ...... ", +" ....... ...... ", +" ... .... ", +" "}; diff --git a/pixmaps/billA_7.xpm b/pixmaps/billA_7.xpm new file mode 100644 index 0000000..0e74222 --- /dev/null +++ b/pixmaps/billA_7.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_7_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFFF7", +"% c #DEDEBD", +"& c #292929", +" ", +" ", +" ", +" ........ ", +" ..++++++++... ", +" .+++++++++++++.. ", +" .++++++++++++++++.. ", +" .+++++++++++++++.++. ", +" ..++++++++++++++.+++. ", +" .++++++++++++++++++++. ", +" .++++++++++++++++++++++. ", +" .++++++++++@@@@++++++++. ", +" .++@@@@+++@####@+++++++. ", +" .+@####@+@#####@+++++++. ", +" .@####@+@######@@@@+.+. ", +" @#####@@######@$%.+.. ", +" @#####@@######@%$... ", +" @#####@$@#####@$%. ", +" @@###@$%@####@$%. ", +" @@@$%$%@@@@$... $ ", +" .%.%$%$%$%. ", +" .$%.%$%$.$. ", +" ..$%$%$.... ", +" ..&&.$%$..&&&. ", +" .&&.&....&&&&&. ", +" .&.&.&.&&.&&&&&&. ", +" .&.&.&.&.&&&&&&&&. ", +" .&&.&&..&.&&.&&&&&. ", +" ..&.&&...&&&&.&&&&&. ", +" .$%..&&&..&&&&.&&&... ", +" .% %.&&&.&&&&&&.&.%$. ", +" .% .&&&.&&&&&&&.%$%$. ", +" .. .............%$. ", +" .&&&&&&&&. .. ", +" .&&&&&&&&. ", +" .&&.&&&&. ", +" .&&.&&&. ", +" .&&.&&&. ", +" ........... ", +" ............. ", +" ........... "}; diff --git a/pixmaps/billA_8.xpm b/pixmaps/billA_8.xpm new file mode 100644 index 0000000..0876f0e --- /dev/null +++ b/pixmaps/billA_8.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_8_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFFF7", +"% c #DEDEBD", +"& c #292929", +" ", +" ", +" ....... ", +" .++++++.. ", +" ...++++++++.... ", +" .+++++++++++++++. . ", +" .++++++++++++++++.+. ", +" ..++++++++++++++.++. ", +" .++++++++++++++++++++. ", +" ..+++++++++++++++++++++. ", +" .++++++++++++++++++++++. ", +" .++++++++++@@@@++++++++. ", +" .++@@@@+++@####@+++++++. ", +" .+@####@+@#####@+++++.+. ", +" .@####@+@######@@@@+.+. ", +" @#####@@######@$%.... ", +" ..@#####@@######@%$.. ", +" ..@#####@$@#####@....... ", +" .$@@###@$%@####@$..%.%$. ", +" .%$%@@@$%$%@@@@$...$%$.. ", +" ....&&.%.%$%$%$.&&.%$%. ", +" .&&&.$%.%$%$.&&&.$%$. ", +" .&&&.$%$%$.&&&&..... ", +" .&&&&.$%$..&&&&&&.. ", +" .&&.&...&&&&&&&.. ", +" .&.&.&&.&&&&&&. ", +" .&.&.&.&&&&&&. ", +" .&&..&.&&&&&&. ", +" .&&...&&&&&&&. ", +" .&&&..&&&&&&&. ", +" .&&&.&&&&&&&&. ", +" .&&&.&&&&&&&.. ", +" ............ ", +" .&&&&&&&&. ", +" .&&&&&&&&. ", +" .&&.&&&&. ", +" .&&.&&&. ", +" .&&.&&&. ", +" ........... ", +" ............. ", +" ........... "}; diff --git a/pixmaps/billA_9.xpm b/pixmaps/billA_9.xpm new file mode 100644 index 0000000..9df0d12 --- /dev/null +++ b/pixmaps/billA_9.xpm @@ -0,0 +1,52 @@ +/* XPM */ +static char * billA_9_xpm[] = { +"58 41 8 1", +" c None", +". c #5A395A", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFFF7", +"% c #DEDEBD", +"& c #292929", +" ", +" ", +" ", +" ....... ", +" .++++++.. ", +" ...++++++++.... ", +" .+++++++++++++++. . ", +" .++++++++++++++++.+. ", +" ..++++++++++++++.++. ", +" .++++++++++++++++++++. ", +" ..+++++++++++++++++++++. ", +" .++++++++++++++++++++++. ", +" .++++++++++@@@@++++++++. ", +" .++@@@@+++@####@+++++++. ", +" .+@####@+@#####@+++++.+. ", +" .@####@+@######@@@@+.+. ", +" @#####@@######@$%.... ", +" ..@#####@@######@%$.. ", +" ..@#####@$@#####@....... ", +" .$@@###@$%@####@$..%.%$. ", +" .%$%@@@$%$%@@@@$...$%$.. ", +" ....&&.%.%$%$%$.&&.%$%. ", +" .&&&.$%.%$%$.&&&.$%$. ", +" .&&&.$%$%$.&&&&..... ", +" .&&&&.$%$..&&&&&&.. ", +" .&&.&...&&&&&&&.. ", +" .&.&.&&.&&&&&&. ", +" .&.&.&.&&&&&&.. ", +" .&&..&.&&&&&&. ", +" .&&...&&&&&&&. ", +" .&&&..&&&&&&&. ", +" .&&&.&&&&&&&&. ", +" .&&&.&&&&&&&. ", +" ............ ", +" .&&&&&&&&&&. ", +" .. .&&..&&&&&... ", +" ....&&&&....&.... ", +" ......&&. ...... ", +" ........ ...... ", +" ....... ..... ", +" ... ... "}; diff --git a/pixmaps/billD_0.xpm b/pixmaps/billD_0.xpm new file mode 100644 index 0000000..c82dc04 --- /dev/null +++ b/pixmaps/billD_0.xpm @@ -0,0 +1,49 @@ +/* XPM */ +static char * billD_0_xpm[] = { +"24 38 8 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #3F5FBF", +"% c #DFDFBE", +"& c #292929", +" .. ... ", +" .. .+. .. ", +" ... .++...+. ... ", +" .+. .+++.++. ..+. . . ", +" .+++.+++.++..+++.... ", +"....++++++++++++++.++. ", +" .++++++++++++++++++. ", +" .+++++++++++++++++. .", +" .++++++++++++++++.... ", +" .++++++++@@@@+++++++. ", +"...@@@@+++@####@+++++. ", +".+@#$##@+@#$###@++++.. ", +"..@#$##@+@##$###@@@@. ", +"..@$$###@@###$##@#%.+. ", +" @##$##@@##$#$#@%#.+. ", +" @##$#@%#@$###@@..+... ", +" @#$#@#%@####@%.+. ", +" . @@@#%#%@@@@ .+. .. ", +". .... %... % .%... .%. ", +".%.&&&. .... ....... . .", +". .&&&&.% % ..&&&&. % %.", +".%.&&&&&....&.&&&&.% % .", +"...&&&&.&&.&&.&&&&&.% %.", +" ....&.&&.&.&&&&&&.... ", +" .&&.&.&.&&&&&.. ", +" .&&.&..&&&&&. ", +" .&&&...&&&&&. ", +" .&&&..&&&&&&. ", +" .&&&&.&&&&&&. ", +" .&&&.&&&&&.. ", +" .. .&.&&.&&....&. ", +".... .&&.....&&&&&. .. ", +".....&&&&&&&&&&&&&&. ...", +" ....&&&&&.....&&&&&....", +" .....&&.. .&&&.... ", +" ...... ....... ", +" .... ..... ", +" ... "}; diff --git a/pixmaps/billD_1.xpm b/pixmaps/billD_1.xpm new file mode 100644 index 0000000..476de31 --- /dev/null +++ b/pixmaps/billD_1.xpm @@ -0,0 +1,50 @@ +/* XPM */ +static char * billD_1_xpm[] = { +"24 38 9 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FF0000", +"% c #DFDFBE", +"& c #9F3F5F", +"* c #292929", +" . . ", +" .... ... ", +" ... .+++.++. .... ", +" .+++.+++.++..++..... ", +"...+++++++++++++..++. ", +".++++++++++++++++++. ", +".+++++++++++++++++. ", +" .++++++++++++++++.... ", +" .++++++++@@@@+++++++.. ", +"..@@@@+++@####@+++++. ", +".@#$##@+@$$###@++++.. ", +".@#$##@+@##$###@@@@. ", +".@$$###@@###$##@#%.+. ", +" @##$##@@##$#$#@%#.+.$$ ", +" @##$#@%#@$###@$$.$$$.$&", +" @#$#@#%@####$$ $$.. ", +". @@@#%#%@@@$$ && .%. ", +" ..****... % $$&&.. . . ", +"%.$$$**.... .$&&*. % %. ", +" $&&$$$$ % .$&&**.% % . ", +"%.**&&&$$.$$$&****.% %. ", +"..****&$$$$$&&**$$$$$$ ", +" .*$&$$$&$$$$$$$$$$$ ", +" $$$$$$$$$$$$$***&&&&&$", +"&&&&&&$$$$$$$**$$$$ &", +" &.$$$$$$&$&&$$$$$ ", +" $$$$*&&$$$$$$**&&&$$$ ", +" $$$ &&$*&$$&$**. &&&$$", +"$$ $&*.$&$&$***. &&$", +" $& $&$$&$$*.. & ", +" $ $&$*$&$&$..*. ", +" .. .*&**$&.&****. .. ", +".... .**..$&.&*****. ...", +".....******& &.*****....", +" ....*****.$ & .***.... ", +" .....**.. $ ....... ", +" ...... $ ..... ", +" .... ... "}; diff --git a/pixmaps/billD_2.xpm b/pixmaps/billD_2.xpm new file mode 100644 index 0000000..63b1ca9 --- /dev/null +++ b/pixmaps/billD_2.xpm @@ -0,0 +1,48 @@ +/* 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 . .. . .. ", +" . . . . "}; diff --git a/pixmaps/billD_3.xpm b/pixmaps/billD_3.xpm new file mode 100644 index 0000000..4ede86c --- /dev/null +++ b/pixmaps/billD_3.xpm @@ -0,0 +1,46 @@ +/* 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. ", +" .. . . .... ", +" ... . . "}; diff --git a/pixmaps/billD_4.xpm b/pixmaps/billD_4.xpm new file mode 100644 index 0000000..52d33bf --- /dev/null +++ b/pixmaps/billD_4.xpm @@ -0,0 +1,44 @@ +/* XPM */ +static char * billD_4_xpm[] = { +"24 38 3 1", +" c None", +". c #ff0000", +"X c #bf3f5f", +" .. ", +" .. .. ", +" .. ....", +" ... .....", +" .. . .. ... ", +" ... . .. ", +" .. . . ", +" . . .. ", +" . ", +".. . . ", +" ", +" ", +" ", +" ", +" .. ", +" ....", +" ...", +" ..", +" ", +" ", +" . . ", +" ... . ", +".. . . ", +".. . ", +". ", +" .. ", +" . . .. ", +" . . ", +" . . ..", +" .. . . .", +" .. . X .", +" . . ", +" . . ", +" .X .. ", +" . ... X. ", +" .. . ... .X ", +" .. . . ", +" . . "}; diff --git a/pixmaps/billL_0.xpm b/pixmaps/billL_0.xpm new file mode 100644 index 0000000..8bb1ec1 --- /dev/null +++ b/pixmaps/billL_0.xpm @@ -0,0 +1,49 @@ +/* XPM */ +static char * billL_0_xpm[] = { +"24 38 8 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFBF3", +"% c #DFDFBE", +"& c #292929", +" ....... ", +" .++++++.. ", +" ...++++++++.... ", +" .+++++++++++++++. . ", +" .++++++++++++++++.+. ", +" ..++++++++++++++.++. ", +" .++++++++++++++++++++. ", +"..+++++++++++++++++++++.", +".++++++++++++++++++++++.", +".++++++++++@@@@++++++++.", +".++@@@@+++@####@+++++++.", +".+@####@+@#####@+++++.+.", +" .@####@+@######@@@@+.+.", +" @#####@@######@$%.... ", +"..@#####@@######@%$.. ", +"..@#####@$@#####@.......", +".$@@###@$%@####@$..%.%$.", +".%$%@@@$%$%@@@@$...$%$..", +"....&&.%.%$%$%$.&&.%$%. ", +" .&&&.$%.%$%$.&&&.$%$. ", +" .&&&.$%$%$.&&&&..... ", +" .&&&&.$%$..&&&&&&.. ", +" .&&.&...&&&&&&&.. ", +" .&.&.&&.&&&&&&. ", +" .&.&.&.&&&&&&. ", +" .&&..&.&&&&&&. ", +" .&&...&&&&&&&. ", +" .&&&..&&&&&&&. ", +" .&&&.&&&&&&&&. ", +" .&&&.&&&&&&&.. ", +" ............ ", +" .&&&&&&&&&&. ", +" .. .&&..&&&&&... ", +" ....&&&&....&.... ", +" ......&&. ...... ", +" ........ ...... ", +" ....... ...... ", +" ... .... "}; diff --git a/pixmaps/billL_1.xpm b/pixmaps/billL_1.xpm new file mode 100644 index 0000000..5d7cd95 --- /dev/null +++ b/pixmaps/billL_1.xpm @@ -0,0 +1,49 @@ +/* XPM */ +static char * billL_1_xpm[] = { +"24 38 8 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFBF3", +"% c #DFDFBE", +"& c #292929", +" ........ ", +" ..++++++++... ", +" .+++++++++++++.. ", +" .++++++++++++++++.. ", +" .+++++++++++++++.++. ", +" ..++++++++++++++.+++. ", +" .++++++++++++++++++++. ", +".++++++++++++++++++++++.", +".++++++++++@@@@++++++++.", +".++@@@@+++@####@+++++++.", +".+@####@+@#####@+++++++.", +" .@####@+@######@@@@+.+.", +" @#####@@######@$%.+.+ ", +"..@#####@@######@%$... ", +"..@#####@$@#####@.......", +".$@@###@$%@####@$..%.%$.", +".%$%@@@$%$%@@@@$...$%$..", +"....&&.%.%$%$%$.&&.%$%. ", +" .&&&.$%.%$%$.&&&.$%$. ", +" .&&&.$%$%$.&&&&..... ", +" .&&&&.$%$..&&&&&&.. ", +" .&&.&...&&&&&&&.. ", +" .&.&.&&.&&&&&&. ", +" .&.&.&.&&&&&&. ", +" .&&..&.&&&&&&. ", +" .&&...&&&&&&&. ", +" .&&&..&&&&&&&. ", +" .&&&.&&&&&&&&. ", +" .&&&.&&&&&&&.. ", +" ............ ", +" .&&&&&&&&. ", +" .&&&&&&&&. ", +" .&&.&&&&. ", +" .&&.&&&. ", +" .&&.&&&. ", +" ........... ", +" ............. ", +" ........... "}; diff --git a/pixmaps/billL_2.xpm b/pixmaps/billL_2.xpm new file mode 100644 index 0000000..a2363b0 --- /dev/null +++ b/pixmaps/billL_2.xpm @@ -0,0 +1,49 @@ +/* XPM */ +static char * billL_2_xpm[] = { +"24 38 8 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFBF3", +"% c #DFDFBE", +"& c #292929", +" ....... ", +" .++++++.. ", +" ...++++++++.... ", +" .+++++++++++++++. . ", +" .++++++++++++++++.+. ", +" ..++++++++++++++.++. ", +" .++++++++++++++++++++. ", +"..+++++++++++++++++++++.", +".++++++++++++++++++++++.", +".++++++++++@@@@++++++++.", +".++@@@@+++@####@+++++++.", +".+@####@+@#####@+++++.+.", +" .@####@+@######@@@@+.+.", +" @#####@@######@$%.... ", +"..@#####@@######@%$.. ", +"..@#####@$@#####@.......", +".$@@###@$%@####@$..%.%$.", +".%$%@@@$%$%@@@@$...$%$..", +"....&&.%.%$%$%$.&&.%$%. ", +" .&&&.$%.%$%$.&&&.$%$. ", +" .&&&.$%$%$.&&&&..... ", +" .&&&&.$%$..&&&&&&.. ", +" .&&.&...&&&&&&&.. ", +" .&.&.&&.&&&&&&. ", +" .&.&.&.&&&&&&. ", +" .&&..&.&&&&&&. ", +" .&&...&&&&&&&. ", +" .&&&..&&&&&&&. ", +" .&&&.&&&&&&&&. ", +" .&&&.&&&&&&&.. ", +" ............ ", +" .&&&&&&&&. ", +" . ..&&&&&... ", +" ....&&&&&.&.. ", +" .....&&&.&... ", +" .....&...... ", +" ........... ", +" ... .... "}; diff --git a/pixmaps/billR_0.xpm b/pixmaps/billR_0.xpm new file mode 100644 index 0000000..19f598a --- /dev/null +++ b/pixmaps/billR_0.xpm @@ -0,0 +1,49 @@ +/* XPM */ +static char * billR_0_xpm[] = { +"24 38 8 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFBF3", +"% c #DFDFBE", +"& c #292929", +" ....... ", +" ..++++++. ", +" ....++++++++... ", +" . .+++++++++++++++. ", +" .+.++++++++++++++++. ", +" .++.++++++++++++++.. ", +" .++++++++++++++++++++. ", +".+++++++++++++++++++++..", +".++++++++++++++++++++++.", +".++++++++@@@@++++++++++.", +".+++++++@####@+++@@@@++.", +".+.+++++@#####@+@####@+.", +".+.+@@@@######@+@####@. ", +" ....$%@######@@#####@ ", +" ..%$@######@@#####@..", +".......@#####@%@#####@..", +".%$.$..%@####@$%@###@@%.", +"..%$%...%@@@@$%$%@@@$%$.", +" .$%$.&&.%$%$%$.$.&&....", +" .%$%.&&&.%$%$.$%.&&&. ", +" .....&&&&.%$%$%.&&&. ", +" ..&&&&&&..%$%.&&&&. ", +" ..&&&&&&&...&.&&. ", +" .&&&&&&.&&.&.&. ", +" .&&&&&&.&.&.&. ", +" .&&&&&&.&..&&. ", +" .&&&&&&&...&&. ", +" .&&&&&&&..&&&. ", +" .&&&&&&&&.&&&. ", +" ..&&&&&&&.&&&. ", +" ............ ", +" .&&&&&&&&&&. ", +" ...&&&&&..&&. .. ", +" ....&....&&&&.... ", +" ...... .&&...... ", +" ...... ........ ", +" ...... ....... ", +" .... ... "}; diff --git a/pixmaps/billR_1.xpm b/pixmaps/billR_1.xpm new file mode 100644 index 0000000..4582f35 --- /dev/null +++ b/pixmaps/billR_1.xpm @@ -0,0 +1,49 @@ +/* XPM */ +static char * billR_1_xpm[] = { +"24 38 8 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFBF3", +"% c #DFDFBE", +"& c #292929", +" ........ ", +" ...++++++++.. ", +" ..+++++++++++++. ", +" ..++++++++++++++++. ", +" .++.+++++++++++++++. ", +" .+++.++++++++++++++.. ", +" .++++++++++++++++++++. ", +".++++++++++++++++++++++.", +".++++++++@@@@++++++++++.", +".+++++++@####@+++@@@@++.", +".+++++++@#####@+@####@+.", +".+.+@@@@######@+@####@. ", +" +.+.$%@######@@#####@ ", +" ...%$@######@@#####@..", +".......@#####@%@#####@..", +".%$.$..%@####@$%@###@@%.", +"..%$%...%@@@@$%$%@@@$%$.", +" .$%$.&&.%$%$%$.$.&&....", +" .%$%.&&&.%$%$.$%.&&&. ", +" .....&&&&.%$%$%.&&&. ", +" ..&&&&&&..%$%.&&&&. ", +" ..&&&&&&&...&.&&. ", +" .&&&&&&.&&.&.&. ", +" .&&&&&&.&.&.&. ", +" .&&&&&&.&..&&. ", +" .&&&&&&&...&&. ", +" .&&&&&&&..&&&. ", +" .&&&&&&&&.&&&. ", +" ..&&&&&&&.&&&. ", +" ............ ", +" .&&&&&&&&. ", +" .&&&&&&&&. ", +" .&&&&.&&. ", +" .&&&.&&. ", +" .&&&.&&. ", +" ........... ", +" ............. ", +" ........... "}; diff --git a/pixmaps/billR_2.xpm b/pixmaps/billR_2.xpm new file mode 100644 index 0000000..f991b4d --- /dev/null +++ b/pixmaps/billR_2.xpm @@ -0,0 +1,49 @@ +/* XPM */ +static char * billR_2_xpm[] = { +"24 38 8 1", +" c None", +". c #5D3C5D", +"+ c #D0D081", +"@ c #000000", +"# c #FFFFFF", +"$ c #FFFBF3", +"% c #DFDFBE", +"& c #292929", +" ....... ", +" ..++++++. ", +" ....++++++++... ", +" . .+++++++++++++++. ", +" .+.++++++++++++++++. ", +" .++.++++++++++++++.. ", +" .++++++++++++++++++++. ", +".+++++++++++++++++++++..", +".++++++++++++++++++++++.", +".++++++++@@@@++++++++++.", +".+++++++@####@+++@@@@++.", +".+.+++++@#####@+@####@+.", +".+.+@@@@######@+@####@. ", +" ....$%@######@@#####@ ", +" ..%$@######@@#####@..", +".......@#####@%@#####@..", +".%$.$..%@####@$%@###@@%.", +"..%$%...%@@@@$%$%@@@$%$.", +" .$%$.&&.%$%$%$.$.&&....", +" .%$%.&&&.%$%$.$%.&&&. ", +" .....&&&&.%$%$%.&&&. ", +" ..&&&&&&..%$%.&&&&. ", +" ..&&&&&&&...&.&&. ", +" .&&&&&&.&&.&.&. ", +" .&&&&&&.&.&.&. ", +" .&&&&&&.&..&&. ", +" .&&&&&&&...&&. ", +" .&&&&&&&..&&&. ", +" .&&&&&&&&.&&&. ", +" ..&&&&&&&.&&&. ", +" ............ ", +" .&&&&&&&&. ", +" ...&&&&&.. . ", +" ..&.&&&&&.... ", +" ...&.&&&..... ", +" ......&..... ", +" ........... ", +" .... ... "}; diff --git a/pixmaps/bsd.xpm b/pixmaps/bsd.xpm new file mode 100644 index 0000000..70dc885 --- /dev/null +++ b/pixmaps/bsd.xpm @@ -0,0 +1,38 @@ +/* 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"}; diff --git a/pixmaps/bsdcpu.xpm b/pixmaps/bsdcpu.xpm new file mode 100644 index 0000000..832b780 --- /dev/null +++ b/pixmaps/bsdcpu.xpm @@ -0,0 +1,60 @@ +/* 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 .....", +" ....... ....."}; + diff --git a/pixmaps/bucket.xpm b/pixmaps/bucket.xpm new file mode 100644 index 0000000..15fbc7d --- /dev/null +++ b/pixmaps/bucket.xpm @@ -0,0 +1,40 @@ +/* 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#.. ", +" ........ ", +" ", +" "}; diff --git a/pixmaps/centos.xpm b/pixmaps/centos.xpm new file mode 100644 index 0000000..f18492d --- /dev/null +++ b/pixmaps/centos.xpm @@ -0,0 +1,391 @@ +/* XPM */ +static char * centos_xpm[] = { +"28 24 364 2", +" c None", +". c #8E8E8E", +"+ c #888888", +"@ c #9A9994", +"# c #898989", +"$ c #878787", +"% c #AEA491", +"& c #DEC392", +"* c #AEA18B", +"= c #868686", +"- c #ADA391", +"; c #E6C17E", +"> c #F2BD5D", +", c #E5BE77", +"' c #AB9F89", +") c #858585", +"! c #8D8D8D", +"~ c #8B8B8B", +"{ c #9C9C99", +"] c #9EA393", +"^ c #9DA292", +"/ c #9DA192", +"( c #9B9E92", +"_ c #B1B1A5", +": c #D4C89A", +"< c #E6C37C", +"[ c #EEBC61", +"} c #E0B976", +"| c #D3B69D", +"1 c #AEA5A6", +"2 c #9C919A", +"3 c #9E929B", +"4 c #9E9A9E", +"5 c #8A8A8A", +"6 c #8C8C8C", +"7 c #B3C193", +"8 c #B9D870", +"9 c #B9D970", +"0 c #AFCD68", +"a c #BFD28F", +"b c #C2DC86", +"c c #B1D25E", +"d c #CECF86", +"e c #ECBB62", +"f c #CD9F98", +"g c #B76EA4", +"h c #C28CB5", +"i c #C190B6", +"j c #AF659D", +"k c #AF619C", +"l c #AA5A96", +"m c #A6829F", +"n c #7E7E7E", +"o c #B4C391", +"p c #BADC6C", +"q c #B7D86B", +"r c #BCD287", +"s c #C1DB84", +"t c #B1D757", +"u c #A9D14D", +"v c #C8CB7B", +"w c #EBB85B", +"x c #CC9C96", +"y c #B56AA4", +"z c #B66BA5", +"A c #BD87B0", +"B c #BF88B2", +"C c #AB5698", +"D c #A54B90", +"E c #9E7494", +"F c #757575", +"G c #B4C390", +"H c #AFD161", +"I c #B9D578", +"J c #BED783", +"K c #BDD87F", +"L c #ACD450", +"M c #A6CF47", +"N c #C7CA78", +"O c #EBB554", +"P c #CB9A93", +"Q c #B263A0", +"R c #AD619C", +"S c #B680A9", +"T c #B67EA9", +"U c #AD659D", +"V c #9F448A", +"W c #9D7293", +"X c #ADBB8D", +"Y c #B9D181", +"Z c #C8DB9A", +"` c #BDD780", +" . c #BAD67A", +".. c #B9D676", +"+. c #A3CD42", +"@. c #C7C976", +"#. c #EAB450", +"$. c #CB9891", +"%. c #AA5B98", +"&. c #B67FA9", +"*. c #B077A3", +"=. c #B277A4", +"-. c #BF8CB3", +";. c #AF6CA0", +">. c #9B7292", +",. c #BEC5AB", +"'. c #C1DC84", +"). c #B1D758", +"!. c #BDD87D", +"~. c #B9D577", +"{. c #B7D473", +"]. c #B2D06C", +"^. c #C6C874", +"/. c #EBB553", +"(. c #C7978E", +"_. c #B47CA7", +":. c #B27AA5", +"<. c #B278A5", +"[. c #B573A6", +"}. c #A03D89", +"|. c #B0689F", +"1. c #AE94A8", +"2. c #747474", +"3. c #A0949D", +"4. c #C6CEA2", +"5. c #AFD654", +"6. c #B0D655", +"7. c #AFD655", +"8. c #BCD87A", +"9. c #B6D471", +"0. c #B4D26F", +"a. c #D6D196", +"b. c #E5B050", +"c. c #D5B5A2", +"d. c #B47EA8", +"e. c #B37AA6", +"f. c #B879A9", +"g. c #A5488F", +"h. c #9E3A87", +"i. c #962E7E", +"j. c #B28AAD", +"k. c #8E8E98", +"l. c #848484", +"m. c #A1919D", +"n. c #B37FA7", +"o. c #B9AC98", +"p. c #ADC768", +"q. c #ADC667", +"r. c #ADC668", +"s. c #ACC566", +"t. c #BCCA8E", +"u. c #B5C97E", +"v. c #BFC69A", +"w. c #CCB68F", +"x. c #BDA2A9", +"y. c #B384AA", +"z. c #B88FB1", +"A. c #A56298", +"B. c #A35E96", +"C. c #9F5691", +"D. c #994E8B", +"E. c #9C7AA5", +"F. c #7777A4", +"G. c #8A8A98", +"H. c #A1979F", +"I. c #B57BA8", +"J. c #B1629F", +"K. c #BC7DAD", +"L. c #BA7EA7", +"M. c #B97CA6", +"N. c #B87BA5", +"O. c #B779A4", +"P. c #B678A3", +"Q. c #BB88AD", +"R. c #A1989E", +"S. c #767574", +"T. c #99999F", +"U. c #9693B7", +"V. c #9590B7", +"W. c #918CB4", +"X. c #8883AF", +"Y. c #7F79A9", +"Z. c #7570A3", +"`. c #6B69A0", +" + c #403F87", +".+ c #666596", +"++ c #93939B", +"@+ c #A29AA0", +"#+ c #B178A4", +"$+ c #AA5998", +"%+ c #B178A5", +"&+ c #A773A2", +"*+ c #A672A1", +"=+ c #A570A0", +"-+ c #A5709F", +";+ c #A36E9D", +">+ c #B287AA", +",+ c #A29BA2", +"'+ c #828381", +")+ c #ABAAAD", +"!+ c #9D9AB2", +"~+ c #9993A6", +"{+ c #958FA4", +"]+ c #8E889F", +"^+ c #86809A", +"/+ c #7F7895", +"(+ c #6F6C99", +"_+ c #3A3980", +":+ c #636391", +"<+ c #7D7D84", +"[+ c #7B7B7B", +"}+ c #9F939B", +"|+ c #AD78A1", +"1+ c #9980AA", +"2+ c #716EA3", +"3+ c #7472A5", +"4+ c #7472A6", +"5+ c #6F6DA0", +"6+ c #908EB0", +"7+ c #8482A9", +"8+ c #A6A9B0", +"9+ c #C0CF9D", +"0+ c #D6CB9F", +"a+ c #EACA91", +"b+ c #E8CB97", +"c+ c #EDC173", +"d+ c #EEC170", +"e+ c #EDBD68", +"f+ c #E9B75E", +"g+ c #BAA38A", +"h+ c #707099", +"i+ c #71717B", +"j+ c #656565", +"k+ c #9F959D", +"l+ c #A49EB9", +"m+ c #6A69A0", +"n+ c #6E6EA4", +"o+ c #6A699E", +"p+ c #8787AC", +"q+ c #7E7EA5", +"r+ c #7E7DA5", +"s+ c #B4BCB0", +"t+ c #BAD876", +"u+ c #D5D4A3", +"v+ c #ECCD94", +"w+ c #EBCA8F", +"x+ c #ECCA8D", +"y+ c #F2BF64", +"z+ c #F2BC59", +"A+ c #E9B14A", +"B+ c #D2BB92", +"C+ c #7B7B82", +"D+ c #ABABB8", +"E+ c #8C8CB3", +"F+ c #616198", +"G+ c #8281A9", +"H+ c #7B7AA3", +"I+ c #7B7BA5", +"J+ c #7574A2", +"K+ c #91999B", +"L+ c #BBD978", +"M+ c #D5CB86", +"N+ c #ECC988", +"O+ c #EBC98A", +"P+ c #EAC683", +"Q+ c #EBC47F", +"R+ c #EAB24C", +"S+ c #E0B972", +"T+ c #BEAF95", +"U+ c #686868", +"V+ c #8E8EA7", +"W+ c #8181AC", +"X+ c #9797B6", +"Y+ c #7A7AA3", +"Z+ c #7A79A3", +"`+ c #7675A4", +" @ c #414086", +".@ c #8E9698", +"+@ c #B5D66B", +"@@ c #D4CA81", +"#@ c #F1BD5D", +"$@ c #ECC783", +"%@ c #EAC47E", +"&@ c #E8C078", +"*@ c #E4C58C", +"=@ c #E3B86C", +"-@ c #BFA472", +";@ c #8E8DA8", +">@ c #585795", +",@ c #6C6BA0", +"'@ c #7979A3", +")@ c #7574A4", +"!@ c #424188", +"~@ c #3A3981", +"{@ c #8C9495", +"]@ c #B2D462", +"^@ c #D3C97E", +"/@ c #F2BB57", +"(@ c #F1B954", +"_@ c #E8C079", +":@ c #EBC278", +"<@ c #EFBA5A", +"[@ c #ECAC38", +"}@ c #BFA36F", +"|@ c #8D8DA7", +"1@ c #525192", +"2@ c #504F90", +"3@ c #7575A4", +"4@ c #7170A2", +"5@ c #3B3A83", +"6@ c #34337E", +"7@ c #8A9393", +"8@ c #AED25B", +"9@ c #D2C87B", +"0@ c #F1B851", +"a@ c #EBB24B", +"b@ c #E1BA72", +"c@ c #EBC072", +"d@ c #F0AF39", +"e@ c #ECA931", +"f@ c #BEA36E", +"g@ c #9190A6", +"h@ c #5D5C8F", +"i@ c #59598E", +"j@ c #56558B", +"k@ c #8787A8", +"l@ c #74739F", +"m@ c #505184", +"n@ c #97A195", +"o@ c #ABD155", +"p@ c #CAC67A", +"q@ c #DDB25C", +"r@ c #DAB878", +"s@ c #D6B986", +"t@ c #DAA951", +"u@ c #D9A84E", +"v@ c #D7A54B", +"w@ c #B9A27B", +"x@ c #969697", +"y@ c #7E7E82", +"z@ c #79797D", +"A@ c #989A97", +"B@ c #B7C698", +"C@ c #B4D569", +"D@ c #A7D243", +"E@ c #ADD05C", +"F@ c #BAC78E", +"G@ c #929288", +"H@ c #807D76", +"I@ c #838079", +"J@ c #81807E", +"K@ c #838383", +"L@ c #9FA593", +"M@ c #AFCA6F", +"N@ c #9DC936", +"O@ c #A5C065", +"P@ c #808472", +"Q@ c #676767", +"R@ c #828282", +"S@ c #9EA492", +"T@ c #B0C187", +"U@ c #808672", +"V@ c #8B8C8A", +"W@ c #6E6E6E", +". . . . . . . . . . . . + @ # . . . . . . . . . . . . . ", +". . . . . . . . . . . $ % & * = . . . . . . . . . . . . ", +". . . . . . . . . . $ - ; > , ' ) ! ! ! ! . . . . . . . ", +". . . . ~ { ] ^ / ( _ : < [ } | 1 2 3 3 3 4 5 . . . . . ", +". . . . 6 7 8 9 0 a b c d e f g h i j k l m n 6 . . . . ", +". . . . 6 o p q r s t u v w x y z A B C D E F 6 . . . . ", +". . . . 6 G H I J K L M N O P Q R S T U V W F 6 . . . . ", +". . . . 6 X Y Z ` ...+.@.#.$.%.&.*.=.-.;.>.F 6 . . . . ", +". . . . + ,.'.).!.~.{.].^./.(._.:.<.[.}.|.1.2.6 . . . . ", +". . . $ 3.4.5.6.7.8.9.0.a.b.c.d.e.f.g.h.i.j.k.l.. . . . ", +". . $ m.n.o.p.q.r.s.t.u.v.w.x.y.z.A.B.C.D.E.F.G.) . . . ", +". . H.I.J.K.L.M.N.O.P.Q.R.S.T.U.V.W.X.Y.Z.`. +.+++= . . ", +". . @+#+$+%+&+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+:+<+[+. . ", +". . # }+|+1+2+3+4+5+6+7+8+9+0+a+b+c+d+e+f+g+h+i+j+$ . . ", +". . . + k+l+m+n+o+p+q+r+s+t+u+v+w+x+y+z+A+B+C+j+$ . . . ", +". . . . + D+E+F+G+H+I+J+K+L+M+N+O+P+Q+R+S+T+U+= . . . . ", +". . . . 6 V+W+X+Y+Z+`+ @.@+@@@#@$@%@&@*@=@-@2.6 . . . . ", +". . . . 6 ;@>@,@'@)@!@~@{@]@^@/@(@_@:@<@[@}@F 6 . . . . ", +". . . . 6 |@1@2@3@4@5@6@7@8@9@0@a@b@c@d@e@f@F 6 . . . . ", +". . . . 6 g@h@i@j@k@l@m@n@o@p@q@r@s@t@u@v@w@F 6 . . . . ", +". . . . ! x@y@z@z@z@A@B@C@D@E@F@G@H@I@I@I@J@F ! . . . . ", +". . . . . 6 $ = = = K@L@M@N@O@P@Q@R@= = = = ~ . . . . . ", +". . . . . . . . . . . + S@T@U@Q@$ . . . . . . . . . . . ", +". . . . . . . . . . . . + V@W@$ . . . . . . . . . . . . "}; diff --git a/pixmaps/debian.xpm b/pixmaps/debian.xpm new file mode 100644 index 0000000..ab469a1 --- /dev/null +++ b/pixmaps/debian.xpm @@ -0,0 +1,184 @@ +/* XPM */ +static char * debian_xpm[] = { +"28 24 157 2", +" c None", +". c #FFFFFF", +"+ c #FBE1E9", +"@ c #ED95B5", +"# c #E46290", +"$ c #E76E99", +"% c #EC8BAD", +"& c #EC8FB0", +"* c #F0AAC3", +"= c #FAE6ED", +"- c #FDF7F8", +"; c #FDF5F7", +"> c #ED93B3", +", c #DE3B75", +"' c #D60751", +") c #D70751", +"! c #D70B54", +"~ c #D70952", +"{ c #DF3773", +"] c #E5608F", +"^ c #EFA4BF", +"/ c #FCF6F7", +"( c #F7D3DF", +"_ c #E56592", +": c #DA2062", +"< c #E76C98", +"[ c #ED96B5", +"} c #F0A6C0", +"| c #EE9BB9", +"1 c #E8749D", +"2 c #DF3A75", +"3 c #D70E56", +"4 c #E66A96", +"5 c #F9E0E9", +"6 c #F9DCE6", +"7 c #E25386", +"8 c #D91B5F", +"9 c #E978A0", +"0 c #F5C2D4", +"a c #FAE2EA", +"b c #E87BA2", +"c c #D60650", +"d c #E56794", +"e c #FCF3F5", +"f c #E97AA1", +"g c #E0437B", +"h c #EA7FA5", +"i c #ED94B4", +"j c #F2B1C8", +"k c #DB2566", +"l c #E45B8C", +"m c #F7D1DE", +"n c #FBEBF0", +"o c #E24E83", +"p c #FCF1F4", +"q c #FCF0F4", +"r c #E3598A", +"s c #DE3873", +"t c #F6CEDC", +"u c #F8D8E3", +"v c #F1AEC6", +"w c #F2B4CA", +"x c #EE9DBA", +"y c #DA1A5E", +"z c #ED99B7", +"A c #FCF7F8", +"B c #FDFDFD", +"C c #F3BDD0", +"D c #D9185D", +"E c #EA84A8", +"F c #F3B9CE", +"G c #EF9BB9", +"H c #F3BACF", +"I c #F9E1E9", +"J c #F7D5E1", +"K c #F7D4E0", +"L c #DB2364", +"M c #EC8EB0", +"N c #FDFBFB", +"O c #ED91B1", +"P c #DA2364", +"Q c #F6CDDC", +"R c #FAE7ED", +"S c #EFA1BD", +"T c #FEFEFE", +"U c #DC2C6B", +"V c #E879A1", +"W c #E97DA4", +"X c #DF4179", +"Y c #F2B0C7", +"Z c #FDF6F9", +"` c #FBE8EE", +" . c #DD2D6C", +".. c #E979A1", +"+. c #FFFEFE", +"@. c #FEFAFB", +"#. c #EE99B7", +"$. c #F5C7D7", +"%. c #FAE4EB", +"&. c #DD3672", +"*. c #E97CA3", +"=. c #E56290", +"-. c #EE98B7", +";. c #EF9CB9", +">. c #FBF1F4", +",. c #FDF6F7", +"'. c #EFA3BE", +"). c #E24D82", +"!. c #F9E2EA", +"~. c #EA81A6", +"{. c #E45C8C", +"]. c #FFFDFD", +"^. c #F4BFD2", +"/. c #E8769F", +"(. c #FAEAEF", +"_. c #F0A5C0", +":. c #FEFCFC", +"<. c #EC92B2", +"[. c #DF3C76", +"}. c #FBECF1", +"|. c #F9E0E8", +"1. c #E8759E", +"2. c #EB89AB", +"3. c #FDF0F4", +"4. c #F4C2D4", +"5. c #E66B97", +"6. c #F3B5CB", +"7. c #DB2969", +"8. c #F7D7E2", +"9. c #F8DCE6", +"0. c #ED92B3", +"a. c #ED97B6", +"b. c #E4618F", +"c. c #EFA0BC", +"d. c #F9DFE8", +"e. c #E7729C", +"f. c #F8D9E4", +"g. c #F1B0C7", +"h. c #ED98B6", +"i. c #EE9FBB", +"j. c #E76F9A", +"k. c #D60A53", +"l. c #F4BED1", +"m. c #DA1D60", +"n. c #E7709B", +"o. c #FFFCFD", +"p. c #E97AA2", +"q. c #F7CDDC", +"r. c #E35386", +"s. c #E0447B", +"t. c #FAE9EF", +"u. c #F5C6D7", +"v. c #E45A8B", +"w. c #E66A97", +"x. c #F9E4EB", +"y. c #EB8AAC", +"z. c #F0A8C2", +". . . . . . . . . . + @ # $ % & * = - . . . . . . . . . ", +". . . . . . . . ; > , ' ) ' ! ~ ! { ] ^ / . . . . . . . ", +". . . . . . . ( _ ' ) : < [ } | 1 2 ) 3 4 5 . . . . . . ", +". . . . . . 6 7 ) 8 9 0 . . . . . a b c ) d e . . . . . ", +". . . . . . f ) g } . . . . . . . . . h ) ) i . . . . . ", +". . . . ; j k l m . . . . . . . . . . n o 3 9 p . . . . ", +". . . . q r s t . . . . . u v w m . . . x y z A . . . . ", +". . . B C D E . . . . . F G H I J q . . K L M N . . . . ", +". . . . O P Q . . . . R S R . . . T . . R U V . . . . . ", +". . . . W X e . . . . j Y . . . . . Z . ` ...+.. . . . ", +". . . . W 7 @.. . . . #.$.. . . . . / . %.&.v . . . . . ", +". . . . *.=.B . . . . -.;.. . . . >.,.. '.).!.. . . . . ", +". . . . ~.{.].. . . . ^./.; . (.(.N . a {._.:.. . . . . ", +". . . . <.[.}.. . . . |.1.2.3.. . . 4.5.h N . . . . . . ", +". . . . 6.7.8.. . . . e 9.4 $ 0.a.V b.c.. . . . . . . . ", +". . . . d.U e.n . . . . . f.g.h.i.4.n . . . . . . . . . ", +". . . . +.j.k.^ . . . . . . . ; - . . . . . . . . . . . ", +". . . . . l.m.n.o.. . . . . . . . . . . . . . . . . . . ", +". . . . . . p.U q.. . . . . . . . . . . . . . . . . . . ", +". . . . . . I r.=.3.. . . . . . . . . . . . . . . . . . ", +". . . . . . . 4.s.p.t.. . . . . . . . . . . . . . . . . ", +". . . . . . . . u.v.w.x.. . . . . . . . . . . . . . . . ", +". . . . . . . . . n y.1.z.@.. . . . . . . . . . . . . . ", +". . . . . . . . . . . d.j u.I @.. . . . . . . . . . . . "}; diff --git a/pixmaps/gentoo.xpm b/pixmaps/gentoo.xpm new file mode 100644 index 0000000..1ea1455 --- /dev/null +++ b/pixmaps/gentoo.xpm @@ -0,0 +1,322 @@ +/* XPM */ +static char * gentoo_xpm[] = { +"28 24 295 2", +" c None", +". c #B7ADBC", +"+ c #B3A9BE", +"@ c #B1A8C3", +"# c #B2AAC7", +"$ c #B1AAC9", +"% c #AEA5C7", +"& c #B0A5C3", +"* c #B6ABBE", +"= c #B1A7C1", +"- c #BBB3CF", +"; c #D1CCE2", +"> c #E2E0EE", +", c #EDEBF5", +"' c #EBE9F5", +") c #D4D1EE", +"! c #B9B4E8", +"~ c #A79DDC", +"{ c #ABA0CD", +"] c #B6ACBB", +"^ c #AAA0C8", +"/ c #C8C4E2", +"( c #EDECF6", +"_ c #FFFFFF", +": c #FDFDFE", +"< c #F4F4FC", +"[ c #E8E8FA", +"} c #CAC7F7", +"| c #ADA5F3", +"1 c #A59BDD", +"2 c #B0A5C6", +"3 c #AAA0CE", +"4 c #CEC9EC", +"5 c #FEFEFE", +"6 c #F7F7FD", +"7 c #EBEBFB", +"8 c #DFDEF8", +"9 c #D1D0F6", +"0 c #B7B2F5", +"a c #A8A1E8", +"b c #ADA4D0", +"c c #AA9FCE", +"d c #CBC4F1", +"e c #F3F3FC", +"f c #E1E1F9", +"g c #E1E0F9", +"h c #D4D4F6", +"i c #C8C7F4", +"j c #B8B5F3", +"k c #ACA6F0", +"l c #AFA6D5", +"m c #B4AABF", +"n c #B7AFE7", +"o c #F4F3FE", +"p c #F9F8FE", +"q c #DEDCF9", +"r c #B9B5F5", +"s c #B9B4EC", +"t c #D1D0F2", +"u c #C9C8F4", +"v c #BDBCF3", +"w c #B6B3F3", +"x c #B0ABF2", +"y c #B3ADD7", +"z c #B4AABE", +"A c #ABA1CD", +"B c #C6C1F8", +"C c #EFEFFC", +"D c #C6C0F6", +"E c #9A8FF0", +"F c #988DEE", +"G c #8179C0", +"H c #9B98BF", +"I c #BEBCF3", +"J c #B1ADF4", +"K c #B8B4F3", +"L c #BCB6DA", +"M c #B5ABBD", +"N c #A99ED3", +"O c #C1BCF7", +"P c #F7F6FD", +"Q c #D3D0F9", +"R c #9C93EA", +"S c #998DDE", +"T c #978BE4", +"U c #7169AB", +"V c #8884AC", +"W c #C7C6F2", +"X c #AFAAF4", +"Y c #AEA8F5", +"Z c #C3BFF5", +"` c #C5BED8", +" . c #A89ECE", +".. c #9F97EE", +"+. c #CCCAF6", +"@. c #ECECFB", +"#. c #F2F1FA", +"$. c #BCB8DA", +"%. c #8E88A7", +"&. c #7C75A0", +"*. c #8883AD", +"=. c #B4B2D7", +"-. c #BDBBF3", +";. c #B5B2F3", +">. c #AEAAF4", +",. c #A7A1F5", +"'. c #B2ACF7", +"). c #D5D2F4", +"!. c #C1BACF", +"~. c #B3A9C0", +"{. c #9D92DB", +"]. c #A29BEA", +"^. c #BDBAF1", +"/. c #E0E0F9", +"(. c #E3E2EC", +"_. c #CECDE2", +":. c #D8D7F1", +"<. c #D3D2F6", +"[. c #C6C5F4", +"}. c #BCBAF3", +"|. c #B4B1F3", +"1. c #AEA9F4", +"2. c #A7A0F5", +"3. c #A097F6", +"4. c #D1CDFB", +"5. c #D8D3E5", +"6. c #B4ABBE", +"7. c #AFA5C5", +"8. c #A196D4", +"9. c #9D93E2", +"0. c #B3AEEA", +"a. c #D0CEF3", +"b. c #EDEDFB", +"c. c #FAFAFE", +"d. c #F5F5FC", +"e. c #E9E8FA", +"f. c #DCDCF8", +"g. c #D0D0F6", +"h. c #C4C3F3", +"i. c #BAB9F3", +"j. c #B3B0F3", +"k. c #ADA7F4", +"l. c #A69FF5", +"m. c #9F96F6", +"n. c #D2CDFB", +"o. c #D8D5E9", +"p. c #B2A9BF", +"q. c #B6ABBD", +"r. c #9F96D2", +"s. c #A49DDD", +"t. c #DCDAF3", +"u. c #FBFBFE", +"v. c #F1F1FC", +"w. c #E5E5F9", +"x. c #D9D9F7", +"y. c #CDCDF5", +"z. c #C2C0F3", +"A. c #B9B7F3", +"B. c #B2AEF3", +"C. c #ABA6F4", +"D. c #A49DF5", +"E. c #C3BDF9", +"F. c #EFEDFB", +"G. c #BFB9D9", +"H. c #B2A8BE", +"I. c #BBB3C7", +"J. c #DAD6E9", +"K. c #D5D5F7", +"L. c #CAC9F4", +"M. c #BFBDF3", +"N. c #B7B4F3", +"O. c #B0ACF4", +"P. c #AAA4F4", +"Q. c #F2F1FD", +"R. c #CECBE2", +"S. c #A39DC3", +"T. c #B4ABBC", +"U. c #C0B8C8", +"V. c #E1DEE7", +"W. c #F2F2FC", +"X. c #E7E7FA", +"Y. c #C5C5F4", +"Z. c #C9C6F8", +"`. c #F3F2FD", +" + c #D5D2E4", +".+ c #A09AC1", +"++ c #ACA3BC", +"@+ c #C7C0CC", +"#+ c #E8E5EB", +"$+ c #F6F6FC", +"%+ c #ECEBFB", +"&+ c #D7D6F7", +"*+ c #CCCBF5", +"=+ c #C1C0F3", +"-+ c #B3AFF3", +";+ c #D0CEF8", +">+ c #F4F4FD", +",+ c #CECCDF", +"'+ c #9F99BE", +")+ c #A8A0BA", +"!+ c #C3BBC9", +"~+ c #EBE8EC", +"{+ c #EFEEFB", +"]+ c #DBDBF8", +"^+ c #BEBBF4", +"/+ c #DBD9F9", +"(+ c #F6F6FA", +"_+ c #C3C0D7", +":+ c #918AB4", +"<+ c #A69EB8", +"[+ c #B8AFBF", +"}+ c #E1DEE5", +"|+ c #FCFCFE", +"1+ c #EFEFFB", +"2+ c #DEDDF8", +"3+ c #CBCAF5", +"4+ c #CDCBF6", +"5+ c #E7E6FB", +"6+ c #E7E6EE", +"7+ c #B2AECA", +"8+ c #8B84AC", +"9+ c #A39BB5", +"0+ c #C8C2D1", +"a+ c #FCFCFD", +"b+ c #FAFAFD", +"c+ c #EEEEFB", +"d+ c #D6D6F7", +"e+ c #DCDBF8", +"f+ c #CFCDDD", +"g+ c #9A95B7", +"h+ c #8D86AA", +"i+ c #A79EB4", +"j+ c #CBC7D8", +"k+ c #FCFBFE", +"l+ c #F8F8FD", +"m+ c #F1F0FC", +"n+ c #DEDEF8", +"o+ c #D0CFF6", +"p+ c #DADAF8", +"q+ c #E3E2EB", +"r+ c #B0ADC6", +"s+ c #7D77A2", +"t+ c #918AAA", +"u+ c #ACA2B7", +"v+ c #BCB7CE", +"w+ c #F9F9FD", +"x+ c #EAEAFA", +"y+ c #E6E6FA", +"z+ c #E2E1F9", +"A+ c #D8D8F7", +"B+ c #E9E9F0", +"C+ c #BBB8CD", +"D+ c #8984A9", +"E+ c #7D779F", +"F+ c #9990AC", +"G+ c #B4ABBA", +"H+ c #9F99B6", +"I+ c #DFDDE8", +"J+ c #E6E5FA", +"K+ c #F0F0FA", +"L+ c #E1E0EA", +"M+ c #B7B5CA", +"N+ c #8A85A8", +"O+ c #6F6993", +"P+ c #8981A2", +"Q+ c #A69DB2", +"R+ c #9C94AE", +"S+ c #9995B5", +"T+ c #CDCBDA", +"U+ c #E5E4ED", +"V+ c #E4E3EB", +"W+ c #D6D5E1", +"X+ c #BDBACD", +"Y+ c #9D99B5", +"Z+ c #7A749B", +"`+ c #6A648E", +" @ c #7E789B", +".@ c #9B92AB", +"+@ c #B3AABA", +"@@ c #928AA6", +"#@ c #746F96", +"$@ c #767198", +"%@ c #6D6790", +"&@ c #645E8A", +"*@ c #6B648D", +"=@ c #7F7799", +"-@ c #988FA9", +";@ c #B1A7B8", +">@ c #A298AF", +",@ c #8D85A2", +"'@ c #847B9C", +")@ c #867F9D", +"!@ c #938BA5", +"~@ c #A59CB0", +"{@ c #B3AAB9", +". . . . . . . . . + @ # $ % & * . . . . . . . . . . . . ", +". . . . . . . = - ; > , ' ) ! ~ { ] . . . . . . . . . . ", +". . . . . . ^ / ( _ _ _ : < [ } | 1 2 . . . . . . . . . ", +". . . . . 3 4 : _ _ _ _ 5 6 7 8 9 0 a b . . . . . . . . ", +". . . . c d _ _ _ _ _ _ : e f g h i j k l . . . . . . . ", +". . . m n o _ _ _ _ _ _ p q r s t u v w x y z . . . . . ", +". . . A B _ _ _ _ _ : C D E F G H u I w J K L M . . . . ", +". . . N O P _ _ _ _ : Q R S T U V W v w X Y Z ` . . . . ", +". . . ...+.@.5 _ _ _ #.$.%.&.*.=.i -.;.>.,.'.).!.. . . ", +". . . ~.{.].^./.e 5 _ _ 5 (._.:.<.[.}.|.1.2.3.4.5.6.. . ", +". . . . 7.8.9.0.a.b.c._ : d.e.f.g.h.i.j.k.l.m.n.o.p.. . ", +". . . . . q.^ r.s.t.c._ u.v.w.x.y.z.A.B.C.D.E.F.G.H.. . ", +". . . . . . . I.J.: _ 5 6 @.f K.L.M.N.O.P.B Q.R.S.T.. . ", +". . . . . . U.V._ _ _ u.W.X.f.9 Y.}.;.>.Z.`. +.+++. . . ", +". . . . . @+#+_ _ _ : $+%+f &+*+=+A.-+;+>+,+'+)+. . . . ", +". . . . !+~+_ _ _ : 6 {+w.]+9 [.v ^+/+(+_+:+<+. . . . . ", +". . . [+}+_ _ 5 |+6 1+X.2+h 3+=+4+5+6+7+8+9+. . . . . . ", +". . . 0+a+5 : b+d.c+X.8 d+y.u e+e f+g+h+i+. . . . . . . ", +". . . j+k+l+d.m+7 w.n+&+o+p+@.q+r+s+t+u+. . . . . . . . ", +". . . v+w+b.x+y+z+e+A+8 7 B+C+D+E+F+G+. . . . . . . . . ", +". . . H+I+e x+J+y+7 K+L+M+N+O+P+Q+. . . . . . . . . . . ", +". . . R+S+T+U+V+W+X+Y+Z+`+ @.@+@. . . . . . . . . . . . ", +". . . . @@#@$@#@%@&@*@=@-@;@. . . . . . . . . . . . . . ", +". . . . . >@,@'@)@!@~@{@. . . . . . . . . . . . . . . . "}; diff --git a/pixmaps/icon.xpm b/pixmaps/icon.xpm new file mode 100644 index 0000000..19222c7 --- /dev/null +++ b/pixmaps/icon.xpm @@ -0,0 +1,85 @@ +/* XPM */ +static char * icon_xpm[] = { +"64 64 18 1", +" c None", +". c #000000", +"+ c #004888", +"@ c #0070B0", +"# c #303860", +"$ c #40B0E8", +"% c #503050", +"& c #FFFFFF", +"* c #604060", +"= c #68B0E8", +"- c #88A070", +"; c #A8C8E0", +"> c #D8B050", +", c #D8B858", +"' c #F0F0D8", +") c #F0F8F8", +"! c #F8F890", +"~ c #F8F8F8", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" =;== ", +" =$@@@@@==;@@@@@@@@@@@$= ", +" $@@@@@@@@@@@=);)))))===$$$@$@@@@ ", +" @$$@$$=);$$$=);)))));)@$=$$=@$$$@@@ ", +" @@$$$$=);$$$=);)~';;;;*=@$$$@$$$$$=;;@ ", +" @@$$@$);$$$=);))'''!',,**=;$$$$$$$;)))@@ ", +" =@;$@@)=@$$=);))'''!',,,,**@*$$$$$$))));@@ ", +" =@=$=)=@@@@);)~~''!',,,,,,,@,*$*$$=))~)=$@ ", +" @@$=)=@@@$)=))~''!',,,,,,,,@-,*,*$;));;@$@ ", +" @$=);@@@@);))~;'!',,,,,,,,,@-*,,*$~;))=$$$@ ", +" @=);$$@$)=))~!'!',,,,,,,,,,@-,,,,-~)))$$$$$@ ", +" @==$$$=)=)));'!',,,,,,,,,,,@-,,,,';));$$$$$@ ", +" @@@$$=);)));'!',,,,,,,,,,,,@-,,,,~-))$$$$$$@ ", +" @$@@=)))))=;!',,,,,,,,....,@-,,,!~~))$$$$$$@ ", +" @$$@)))))=;;',....,,,.&&&&.@-,,,'!')=$$$$$$@ ", +" @$=);)));)=;,.&&&&.,.&&&&&.@-,,,~!);$$$$$$$@ ", +" @=);;)););;@*.&&&&.,.&&&&&&##..!;~;$$$$$$$$@ ", +" @);))););)@@@.&&&&&..&&&&&&#='*)-'=@$$$$$$$@ ", +" @;;))=);)$$**.&&&&&..&&&&&&#=~*)=)$+@$$$$$$@ ", +" ;;));;;)$$$**.&&&&&.~.&&&&&#**;;~;*$+@$$$$$@ ", +" ;)););;$$$$*~..&&&.~'.&&&&.=@*~*~~*@$+@$$$$@ ", +" =);;;)@$$$$*'~'...~'~'....~#@*~~~**+$$+@$$$@ ", +" $=;;)$@@$$$****%%*'*'~'~'~*;@)'~'*+++$$+@$$@ ", +" $;=)@$$@$$$$$*%%%*~'*'~'~*%;@)~~~*++++$$+@$@ ", +" @;;@@@$@@$$$$$*%%%*~'~'~*%%;@;;;**+++++$$+$$ ", +" =)@@@@$$@@$$$$*%%%%*~'~**%%;@'~-*$++++++@$;= ", +" @@@@@@@$@@$$$$@*%%*%***%%%~)='~*$$$++++++@)$ ", +" @@@@@@@$$@$$$$@@*%*%*%%*%~~~=~*$$$$$$++++==@ ", +" @@@@@@@$$@@$$$$@*%*%*%*%~~~';'=@$$$$$$+++)+= ", +" @$@@@@@@$$@$$$$$*%%**%%'~~'~))++@$$$$$$+@;@; ", +" @@$@@@@@@$@@$$$$*%%**%'~~'~~~-+++@$$$$$$;@== ", +" @$$@@@@@@$$@$$$$*%%%*~~~'~~'$#++++@$$$$=)+;= ", +" @$$$@@@@@@$@@$$$*%%~~~~'~~''+#+++++@$$$;;; ", +" @@$$@@@@@@@$@@$$*%~'~~'~~~'%+%++++++@$$); = ", +" @@$$$@@@@@@$@@$$=';));;~~-**++@+++++++;;; + ", +" @@$$$$@@@@@@$@$=);)~'~~~%%%*+#$+++++++)= + ", +" @@$$$$@@@@@@$@$';))'~~)%%%**+#%$++++++;@ ;+$ ", +" @@$$$$$@@@@@@$';))'~~~%%%*%*+#%$$@+++;@==;$@; ", +" =@$$$$$@@@@@=);));'''%%%*%***%%$$$@++)+);$=@ ", +" ;@$$$$$$@@@@))))~~'~*%******#+$$@@++==+;;$@$ ", +" ;;$=$$$@@@;;))~~~~*********@++@@@@@)$;;;$+; ", +" $@$$$@@@@;=)))))=@***@****@@$@+@$$=;$);@+@$$$$ ", +" $+@@@@@);)))));$$$$$@+@@@@@@$@+@@;@+=@$$@$$$$; ", +" $@@$@++++;;))));;@@@@@@++@$$@@@@@@@+=@@$$$$$@$$=; ", +" $$$$$$@@@@+@@++++++++++@@@@++++++@@@@$$$$$$$$@$=; ", +" =@$@$$$$$$$$$$$$@@@@@$$@@@@@@@$$@$$$$$$$$$$@$= ", +" $@@$$$$$$$$$$$$$$$$$$$@@$$$$$$$@$$$$$$$$= ", +" =$$$==$==$$$$$$@@$$$$$$$ ", +" ==@$$= ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; diff --git a/pixmaps/initfail.xpm b/pixmaps/initfail.xpm new file mode 100644 index 0000000..fcda707 --- /dev/null +++ b/pixmaps/initfail.xpm @@ -0,0 +1,87 @@ +/* XPM */ +static char * wingdows_xpm[] = { +"28 24 60 1", +" c None", +". c #000000", +"+ c #1E1E1E", +"@ c #262626", +"# c #181818", +"$ c #363636", +"% c #303030", +"& c #3E3E3E", +"* c #656565", +"= c #7D7D7D", +"- c #616161", +"; c #878787", +"> c #818181", +", c #3F3F3F", +"' c #7E7E7E", +") c #585858", +"! c #494949", +"~ c #313131", +"{ c #717171", +"] c #2C2C2C", +"^ c #7C7C7C", +"/ c #272727", +"( c #161616", +"_ c #7F7F7F", +": c #0C0C0C", +"< c #838383", +"[ c #808080", +"} c #9C9C9C", +"| c #595959", +"1 c #3A3A3A", +"2 c #AAAAAA", +"3 c #969696", +"4 c #4E4E4E", +"5 c #A6A6A6", +"6 c #939393", +"7 c #8C8C8C", +"8 c #8F8F8F", +"9 c #888888", +"0 c #3C3C3C", +"a c #6B6B6B", +"b c #5F5F5F", +"c c #6A6A6A", +"d c #060606", +"e c #171717", +"f c #515151", +"g c #676767", +"h c #414141", +"i c #191919", +"j c #1B1B1B", +"k c #141414", +"l c #898989", +"m c #373737", +"n c #1F1F1F", +"o c #A1A1A1", +"p c #8B8B8B", +"q c #393939", +"r c #949494", +"s c #2B2B2B", +"t c #434343", +"u c #919191", +"............................", +"............................", +".+@#$@$$#%@$#&$.............", +"............................", +".@#+&#+%*=-;>,;')!'~-{].....", +"........^/(_:<_:<_.[_:<.....", +".@+&#$#@}|123456*7@[890.....", +"........'a!_.<_.<bc-_.<.....", +"..................d.........", +".@+]+@#.....................", +"............................", +".@&#e.......................", +"............................", +".&#&#e......................", +"............................", +"............................", +"........fgh-{]-{]~{~-{].....", +".ijkijkilm]7nopqr8s[_:<.....", +"........=t@890890[.[890.....", +".#&@@@@@ua!_.<_.<bc-_.<.....", +"..................d.........", +"............................", +"............................", +"............................"}; diff --git a/pixmaps/logo.xcf b/pixmaps/logo.xcf Binary files differnew file mode 100644 index 0000000..eaa03ee --- /dev/null +++ b/pixmaps/logo.xcf diff --git a/pixmaps/logo.xpm b/pixmaps/logo.xpm new file mode 100644 index 0000000..467fc05 --- /dev/null +++ b/pixmaps/logo.xpm @@ -0,0 +1,332 @@ +/* XPM */ +static char * logo_xpm[] = { +"260 65 264 2", +" c None", +". c #182931", +"+ c #000000", +"@ c #294A84", +"# c #5AA5D6", +"$ c #000808", +"% c #4A8CBD", +"& c #6B9CC6", +"* c #1E1E1E", +"= c #262626", +"- c #181818", +"; c #363636", +"> c #303030", +", c #3E3E3E", +"' c #656565", +") c #7D7D7D", +"! c #616161", +"~ c #878787", +"{ c #818181", +"] c #3F3F3F", +"^ c #7E7E7E", +"/ c #585858", +"( c #494949", +"_ c #313131", +": c #717171", +"< c #2C2C2C", +"[ c #7C7C7C", +"} c #272727", +"| c #161616", +"1 c #7F7F7F", +"2 c #0C0C0C", +"3 c #838383", +"4 c #808080", +"5 c #9C9C9C", +"6 c #595959", +"7 c #3A3A3A", +"8 c #AAAAAA", +"9 c #969696", +"0 c #4E4E4E", +"a c #A6A6A6", +"b c #939393", +"c c #8C8C8C", +"d c #8F8F8F", +"e c #888888", +"f c #3C3C3C", +"g c #6B6B6B", +"h c #5F5F5F", +"i c #6A6A6A", +"j c #060606", +"k c #180B5C", +"l c #18085A", +"m c #170859", +"n c #699AC4", +"o c #5A395A", +"p c #3F518E", +"q c #27246E", +"r c #17085A", +"s c #1A0C5D", +"t c #2D2E76", +"u c #49619A", +"v c #597CAE", +"w c #292770", +"x c #5679AD", +"y c #4C304C", +"z c #D0D081", +"A c #CECE84", +"B c #506EA4", +"C c #6898C3", +"D c #2D2F76", +"E c #587BAE", +"F c #171717", +"G c #573757", +"H c #1A0D5D", +"I c #6999C3", +"J c #4A2E4A", +"K c #323232", +"L c #170759", +"M c #25226D", +"N c #628DBA", +"O c #634A63", +"P c #6896C2", +"Q c #435692", +"R c #32387D", +"S c #251F6A", +"T c #5677AA", +"U c #5D84B4", +"V c #618BB8", +"W c #363E81", +"X c #846B84", +"Y c #3E4D8C", +"Z c #180859", +"` c #6A9AC5", +" . c #6A9BC5", +".. c #6491BD", +"+. c #6896C1", +"@. c #638EBB", +"#. c #1C0E5E", +"$. c #4E69A0", +"%. c #9C9CCE", +"&. c #2A2A73", +"*. c #1C0E5F", +"=. c #455A97", +"-. c #231D69", +";. c #18085B", +">. c #1D1260", +",. c #415490", +"'. c #6998C2", +"). c #6897C2", +"!. c #6592BF", +"~. c #363F81", +"{. c #1B0E5F", +"]. c #17075A", +"^. c #26236C", +"/. c #5C82B3", +"(. c #4A639B", +"_. c #30367A", +":. c #191919", +"<. c #1B1B1B", +"[. c #1D1461", +"}. c #25226C", +"|. c #6794C0", +"1. c #303379", +"2. c #180B5B", +"3. c #5575A9", +"4. c #496099", +"5. c #30347A", +"6. c #1D1361", +"7. c #5474A8", +"8. c #28256E", +"9. c #18095A", +"0. c #2A2972", +"a. c #5B7EAF", +"b. c #190A5B", +"c. c #41528F", +"d. c #1F1664", +"e. c #1A0D5C", +"f. c #2E3177", +"g. c #587BAD", +"h. c #1C105F", +"i. c #5E86B6", +"j. c #4F6DA3", +"k. c #415290", +"l. c #313579", +"m. c #1F1665", +"n. c #33397D", +"o. c #29266F", +"p. c #6492BE", +"q. c #374183", +"r. c #435792", +"s. c #5576AB", +"t. c #4B649E", +"u. c #1D1463", +"v. c #190C5C", +"w. c #6089B7", +"x. c #3E4C8B", +"y. c #3C4989", +"z. c #455894", +"A. c #28256F", +"B. c #628CBA", +"C. c #394284", +"D. c #3B4889", +"E. c #495F99", +"F. c #394385", +"G. c #FFFFFF", +"H. c #638FBC", +"I. c #4F6AA1", +"J. c #2D2D75", +"K. c #6795C1", +"L. c #221B67", +"M. c #221B69", +"N. c #190A5A", +"O. c #5D83B4", +"P. c #1E1361", +"Q. c #190B5C", +"R. c #303378", +"S. c #465B96", +"T. c #221967", +"U. c #1E1362", +"V. c #4A639D", +"W. c #5F88B7", +"X. c #3B4687", +"Y. c #1A0C5C", +"Z. c #3B4788", +"`. c #25216B", +" + c #353D7F", +".+ c #4D67A0", +"++ c #221966", +"@+ c #5678AB", +"#+ c #618BBA", +"$+ c #190C5B", +"%+ c #231B67", +"&+ c #5373A7", +"*+ c #353D80", +"=+ c #1E1563", +"-+ c #231C69", +";+ c #445893", +">+ c #2C2A72", +",+ c #6490BD", +"'+ c #6593BF", +")+ c #5270A4", +"!+ c #1B0D5D", +"~+ c #DEDEBD", +"{+ c #1E1462", +"]+ c #404F8D", +"^+ c #1F1563", +"/+ c #211865", +"(+ c #353E81", +"_+ c #5F87B6", +":+ c #2C2B73", +"<+ c #221A68", +"[+ c #506CA2", +"}+ c #221A66", +"|+ c #343A7E", +"1+ c #1C0F5F", +"2+ c #1C1060", +"3+ c #31377B", +"4+ c #2E3077", +"5+ c #201764", +"6+ c #26236D", +"7+ c #343C7F", +"8+ c #597DAF", +"9+ c #3D4A8A", +"0+ c #5372A7", +"a+ c #455995", +"b+ c #475B97", +"c+ c #5F89B7", +"d+ c #1D1160", +"e+ c #292929", +"f+ c #516FA5", +"g+ c #3A4485", +"h+ c #201663", +"i+ c #1B0F60", +"j+ c #6694C0", +"k+ c #3F4E8C", +"l+ c #25206A", +"m+ c #292872", +"n+ c #485E98", +"o+ c #5272A6", +"p+ c #475D97", +"q+ c #201866", +"r+ c #3A4787", +"s+ c #5B80B2", +"t+ c #1D1261", +"u+ c #2A2970", +"v+ c #4F6BA2", +"w+ c #6390BC", +"x+ c #2C2C74", +"y+ c #6A9BC4", +"z+ c #5D83B3", +"A+ c #1D1362", +"B+ c #455A95", +"C+ c #384283", +"D+ c #1B0F5F", +"E+ c #4E6AA2", +"F+ c #3F4F8E", +"G+ c #3E4F8D", +"H+ c #455994", +"I+ c #445794", +"J+ c #3A4586", +"K+ c #364083", +"L+ c #4E69A1", +"M+ c #1A0D5E", +"N+ c #5B80B1", +"O+ c #25216C", +" ", +" ", +" ", +" ", +" . + + + + + + + + + + + + @ # $ + + @ ", +" # . + + + + + + + + + + + + % # @ + + @ ", +" # $ + + + + + + + + + + + + # @ + + $ # ", +" & + + + + + + + + + + + + . # % + + $ # ", +" @ + + + + + + + + + + + + @ # $ + + % ", +" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @ + + + + + + + + + + + + % # $ + + @ ", +" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + # . + + + + + + + + + + + + # @ + + @ # ", +" + * = - ; = ; ; - > = ; - , , ; + + + + + + + + + + + + + & + + + + + + + + + + + + . @ + + $ # ", +" + + + + + + + + + + + + + + + + + + + + + + + + + + + + + % + + + + + + + + + + + + . # % + + $ & ", +" + = - * , - * > ' ) ! ~ { ] ] ~ ^ / ( ^ _ ! : < + + + + + @ + + + + + + + + + + + + % & + + + & ", +" + + + + + + + + [ } | 1 2 3 3 1 2 3 1 + 4 1 2 3 + + + + + # . + + + + + + + + + + + + & # . + + @ ", +" + = * , - ; - = 5 6 7 8 9 0 0 a b ' c = 4 d e f + + + + + & + + + + + + + + + + + + . # # . + + @ ", +" + + + + + + + + ^ g ( 1 + 3 3 1 + 3 h i ! 1 + 3 + + + + + % + + + + + + + + + + + + @ % + + . # & & & & & & & & & & & & & ", +" + + + + + + + + + + + + + + + + + + + j + + + + + + + + + @ + + + + + + + + + + + + % @ + + $ # & k l l l l l l l l l m n & & & ", +" + = * < * = - + + + . o o o o o + + + + + + + + + + + + + # . + + + + + + + + + + + + % & + + + & & p q r l l l l l s t u & & v w x ", +" + + + + + + + + + y z z z A z z . + + + + + + + + + + + + # $ + + + + + + + + + + + + # & + + + @ & & B l l l l l C & & & D l E ", +" + = , - F + o o o z z z z z z z z o o G + + + + + + + + + & + + + + + + + + + + + + . # # . + + @ & l l l l l & & H r I ", +" + + + + + o z z z z z z z z z z z z z z z + + J K + + + + @ + + + + + + + + + + + + @ @ + + . # & L l l l M N l H & ", +" + , - , - o z z z z z z z z z z z z z z z z O z o + + + + @ + + + + + + + + + + + + % % + + . # P l l l l Q & R l S & ", +" + + + + + o o z z z z z z z z z z z z z z o z z o + + + + # . + + + + + + + + + + + $ # & + + + & T l l l l U & V L l W & ", +" + + + + O z z z z z z z z z z z z z z z z z z z z X + + + & + + + + + + + + + + + + . # $ + + & & Y l l l Z ` & & & ...+.& & & & & & & & & @.#.l l $. ", +" + + + o o z z z z z z z z z z z z z z z z z z z z z %.+ + % + + + + + + + + + + + + . # # . + + @ & &.l l l *.& & +.=.-.k m l l ;.>.,.n & & & & & & & & ` @.'.& & & & & & & & & & & ` @.'.& & & & & & ).N n & & & & & & & & & & & & & & & !.~.{.].^.).& I /.(._.l l l l ..& & & & & & ", +" + :.<.o z z z z z z z z z z z z z z z z z z z z z z O + + @ + + + + + + + + + + + + % @ + + @ # & [.l l l }.& & |.1.Z l l l l l l l l l 2.3.& & ).4.5.6.Z l 7. & .(.8.l l Z 9.0.V & & ).a.4.5.6.Z l 7. & .(.8.b.l l Z 9.0.V & & |.c.d.l l l l e.f.N & g.l l l h. & i.j.k.l.m.r l M & $.;.l l l l n.& o.l l l l l l l l l l l l l p. ", +" + + + o z z z z z z z z z z + + + + z z z z z z z z O + + # . + + + + + + + + + + + $ O + + $ # & ;.l l l q.& & & r.l l l 9.5.s.p.N t.u.l l l l U & W l l l l l l |. .r.v.l l l l l l l l w.& W l l l l l l l |. .r.v.l l l l l l l l l w.& & .x.].l l l l l l l l Z y.z.l l l A. B.l l l l l l l C.D.Z l l l l l m.& E.F.F.q l l l s F.F.F.F.F.x.& ", +" + - , o z z + + + + z z z + G.G.G.G.+ z z z z z z z o + + & + + + + + + + + + + + % & + + . # H.l l l l I. & n J.l l l &.K.& & .L.l l l M.& k.*.l l l l N.O.P.l Q.R.7...S.9.l l l T.& k.*.Z l l l l N.O.P.l Q.R.7.H...S.9.l l l T.& & p.U.l l l l L.V.W.P U X.b.l Y.l l l Z. K.=.`.l l l l l 8.l l r l l l l J.& & +l l l t & ", +" + + + O z + G.G.G.G.+ z + G.G.G.G.G.+ z z z z z o z X + + % + + + + + + + + + . & + + + % .+l l l l .. & ` ++l l l x.& & & E l l l ].& & & L l l l L m r y.n & & .+l l l l & & & @+L l l l L m r y.n & & .+l l l l & & #+v.l l l $+a.& & & +.%+l l l l &+ & & *+l l l l l =+#+& x %+L `.K.& & -+l l l ;+& ", +" + + + + %.. G.G.G.G.+ z + G.G.G.G.G.G.+ + + + z o z + + + @ + + + + + + + @ # # . + + % & ~.l l l r & & >+l l l W & #+l l l Z & %+l l l l -.,+& K.l l l ].& & %+l l l l -.,+& K.l l l ].& & '.#.l l l h.'+& & ` ].l l Z +. )+l l l l !+K.& & & & & & & e.l l l /. ", +" + + + + + . G.G.G.G.G.+ + G.G.G.G.G.G.+ G.~+o o O %.+ + + @ + + + + + $ # @ + + $ # & `.l l l {+& & ]+l l l ^+ . & ]+l l l 6.& /+l l l (+& & _+l l l !+& & /+l l l (+& & _+l l l !+& & w l l l 9.@.& W.l l l Q.& E.l l l l g.& '.Z l l l . ", +" + + + X O . G.G.G.G.G.+ + G.G.G.G.G.G.+ ~+G.o O + + + + + # $ + + + + & @ + + + + # & #.l l l :+& & p.Z l l L N & & W.Z l l Z x & Y.l l l /. u l l l <+& & Y.l l l /. u l l l <+& & @+l l l l [+& & p l l l }+& & |+l l l 1+& T l l l 2+& ", +" o o + G.G.G.G.G.+ G.+ G.G.G.~+~+. O O O O o o o % + + + % % + + + + + . # ` Z l l l ]+& & &.l l l w & & & 4.9.l l m V.& l l l Z ` & 3+l l l 4+& ).l l l Z ` & 3+l l l 4+& & 5+l l l m.& & 6+l l l 3+& & M.l l l 7+& & x.l l l w & ", +" o G.+ + G.G.G.+ G.~++ G.G.G.G.+ G.o o ~+o ~+G.o # . + + @ & + + + + + + + @ /.l l l l x +.l l l l 8+& & & & ..9+P.l l l T._+& l l l 1+& & <+l l l Q & T l l l 1+& & <+l l l Q & i.l l l l [+& & s l l l E. & s l l l 0+ & o.l l l x.& ", +" o ~+G.~++ + + G.~+G.~++ + + + G.o o o G.~+G.o o @ + + $ # # $ + + + + + + + + % a+l l l l '. & ;+l l l h.'+U 0+b+n.<+k l l l r w &+& & & l l l 6+& & Y.l l l a. & x.l l l 6+& & Y.l l l a. & C.l l l N. . H.l l l l c+ '.Z l l m C & d+l l l s. ", +" o o o o e+e+o ~+o ~+G.~+G.~+G.o e+e+o ~+G.~+o % + + . & # @ + + + + + + + + + + & & 1.l l l Y.& & & & L.l l l l l l l l l Z e.-.(+f+` & & & l l l g+& '.l l l r n & w l l l g+& '.l l l r n & h+l l l A.& & a+l l l ]. . @+l l l i+& .L l l r '. ", +" o e+e+e+o G.~+o ~+G.~+G.o e+e+e+o G.~+G.o & + + + & @ + + + + + + + + + + + . # & Q.l l l 3+& & g.Z ].j+l l l l c+& & .l l l '+ & k+l l l l+& .].l l l '+ & k+l l l l+& & L l l l 8+ & H.r l l l m+& & 0.l l l g+& =.l l l S & ", +" o e+e+e+o G.~+G.~+G.o e+e+e+e+o o o o o & $ + + % % + + + + + + + + + + + + . # +.Z l l l n+ & #+9.l D & r l l l p. W.l l b.& & :+l l l W & W.l l l b.& & :+l l l W & & l l l l .. & J.l l l l x.& & 6.l l l j. & R.l l l (+& ", +" o e+e+e+e+o G.~+G.o o e+e+e+e+e+e+o o # . + + @ @ + + + + + + + + + + + + % 3.l l l l _+ & /.2.l r #+& r l l l o+ p+l l q+& & /+l l l V. p+l l l q+& & /+l l l V. & Z l l l K. & U r l l l l )+ & l l l l p. & %+l l l p+ ", +" o e+e+o e+o o o e+e+e+e+e+e+e+o o . + + @ # . + + + + + + + + + + + + & & r+l l l m . & )+].l l `.& & /+l l l r+& & & & & _.l l 1.& & H l l l s+ & _.l l l 1.& & H l l l s+ & t+l l l x & P !+l l l l l #+ B.l l l b.& & *.l l l a. ", +" o e+o e+o e+e+o e+e+e+e+e+e+o @ + + $ # # $ + + + + + + + + + + + $ & & ++l l l 2.& & '.1.Z l l l 8+& & E.l l l v.I & & & N u+v+& & T.l l =. & ].l l l +. & T.l l l =. & ].l l l +. & |+l l l |+& & ).T.l w r l l l .. & K.& V.l l l h+& & l l l l K. & & & ", +" o e+o e+o e+o e+e+e+e+e+e+o & + + + & & + + + + + + + + + + + + . & w+l l l l s & & ` =.Y.l l l l d.& .^+l l l -+P & & & _+x+Z l M.y+ & 2.l l U & l l l l x & & .k+C & 2.l l l U & l l l l x & & .k+C ..Z l l L w.& & & i.{.l 5+n Y.l l l _.& & 7+l /.& 7+l l l t & & Z l l l f+& & z+A+B+ ", +" o e+e+o o e+o e+e+e+e+e+e+o & $ + + & @ + + + + + + + + + + + + @ & & '.%+l l l l Z c.` & & ` T R 2.l l l l l l I.& & ..H l l l k (+$._+'.H.T C+=+Z l Q.u & & K.Z l l . & >.l l l D+i.8+++l E+ K.Z l l l . & >.l l l D+i.8+++l E+& F+l l l Z ]+W.H.I.`.r l }++.& 0.l l l l 6.l+l -+` & -+l l l ,.& & d+l l l $+)+!.B 5.Z Z G+ ", +" o e+e+o o o e+e+e+e+e+e+e+o # . + + @ @ + + + + + + + + + + + + % & b+t Q.l l l l l l l l 1+2+l l l l l l l l l H . & |.M l l l l l l l l l l l 6.H+I & o+l l D+& & 0+l l l l l l l I+& o+l l l D+& & 0+l l l l l l l I+& & J+l l l l l l l l m K+ .& & N L l l l l l 5.I & & v.l l l 8+ & 0+r l l l l l l l k L+& ", +" o e+e+e+o o e+e+e+e+e+e+e+o . + + @ # $ + + + + + + + + + + + + # ).l l l l l l l l l l l l l l l l l l l l l l ,.& & & a.m+Y.Z l l r 9.++g+U & & X.l l 8.& & [+M+Z l l w c+& X.l l l 8.& & [+M+Z l l w c+& & N+O+l l l Z e.R H.& & s+t+r l ;.o.& C r l l r I & x L.L l l r d+J+'.& ", +" o e+e+e+o e+e+e+e+e+e+e+e+o @ + + . # & + + + + + + + + + + + + . & & & & & & & & & & & & & & & & & & & & & & & & & & & & n @... .& & & & & & & & & & +.!.& & & & & & & & & & & +.!.& & & & & & |.H. .& & & & '.'+& & & & & & & & & & & K.H. .& & ", +" o e+e+e+o e+e+e+e+e+e+e+o o % + + + # % + + + + + + + + + + + + @ ", +" o o o o o o o o o o o o & + + + % @ + + + + + + + + + + + + @ ", +" o e+e+e+e+e+e+e+e+e+e+o # . + + % # . + + + + + + + + + + + + & ", +" o o o e+e+o o e+e+e+e+e+o o o . + + . & + + + + + + + + + + + + . # ", +" o o o o e+e+e+e+o o o o e+o o o o @ + + . # % + + + + + + + + + + + + . # ", +" o o o o o o e+e+o o o o o o o % + + $ & @ + + + + + + + + + + + + % @ @ @ @ @ @ @ ", +" o o o o o o o o o o o o o o & + + + & @ + + + + + + + + + + + + % @ @ @ @ @ @ @ @ @ ", +" o o o o o o o o o o o o o & $ + + % # $ + + + + + + + + + + + $ & @ @ @ @ @ @ ", +" o o o o o o o . + + @ & + + + + + + + + + + + + . @ @ @ @ @ @ @ @ @ @ ", +" # @ + + . # @ + + + + + + + + + + + + @ @ @ @ @ @ @ @ @ ", +" @ + + $ & @ + + + + + + + + + + + + % @ @ @ @ @ @ @ @ @ @ ", +" % + + + % # $ + + + + + + + + + + + + # @ @ @ @ @ @ @ @ @ @ ", +" & + + + % & $ + + + + + + + + + + + . & @ @ @ @ @ @ @ @ ", +" # @ $ $ @ % + + + . $ $ $ $ $ $ . + @ @ @ @ @ @ @ @ @ @ @ @ @ @ ", +" @ @ @ @ @ @ @ @ @ ", +" ", +" ", +" "}; diff --git a/pixmaps/maccpu.xpm b/pixmaps/maccpu.xpm new file mode 100644 index 0000000..12cc6d4 --- /dev/null +++ b/pixmaps/maccpu.xpm @@ -0,0 +1,58 @@ +/* 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. ", +" .... "}; diff --git a/pixmaps/mandriva.xpm b/pixmaps/mandriva.xpm new file mode 100644 index 0000000..8210bfd --- /dev/null +++ b/pixmaps/mandriva.xpm @@ -0,0 +1,268 @@ +/* XPM */ +static char * mandriva_xpm[] = { +"28 24 241 2", +" c None", +". c #B8B8B8", +"+ c #BBB7AD", +"@ c #C5B697", +"# c #D4B574", +"$ c #B8B6B2", +"% c #BAB7B3", +"& c #DFB662", +"* c #E9B242", +"= c #B9B3A7", +"- c #D1B67E", +"; c #F6B42E", +"> c #EFB132", +", c #BDB19B", +"' c #AFB1B7", +") c #B4B5B7", +"! c #C3B79C", +"~ c #E9B445", +"{ c #F8B226", +"] c #F3B025", +"^ c #C3B08A", +"/ c #AFB2B8", +"( c #9EA4B3", +"_ c #B2B3B4", +": c #BCB7AE", +"< c #C9B897", +"[ c #C4B8A0", +"} c #BEB7AA", +"| c #BAB7B1", +"1 c #B8B7B6", +"2 c #B9B8B5", +"3 c #DCB463", +"4 c #F7B226", +"5 c #F8B021", +"6 c #F5AE1C", +"7 c #CAAF74", +"8 c #B7B7B7", +"9 c #8E9AB4", +"0 c #99A0AF", +"a c #B6B6B6", +"b c #BEB6A6", +"c c #E1B866", +"d c #F3BC4F", +"e c #EEB952", +"f c #E6B85B", +"g c #DEB868", +"h c #D6B674", +"i c #F5B226", +"j c #F8B020", +"k c #F7AF1B", +"l c #F7AD15", +"m c #D4AD5B", +"n c #B6B6B5", +"o c #9CA4B6", +"p c #7B8AAE", +"q c #AEAFB0", +"r c #C6B592", +"s c #EAB850", +"t c #F9BA3D", +"u c #F9B837", +"v c #F8B632", +"w c #F6B42B", +"x c #F6B226", +"y c #F7AB0F", +"z c #E3AA33", +"A c #C3B393", +"B c #B9B6B2", +"C c #BDB39F", +"D c #BEB29B", +"E c #B7B6B5", +"F c #B5B6B7", +"G c #7B8DB3", +"H c #8692AB", +"I c #CCB382", +"J c #F2B63C", +"K c #F8B631", +"L c #F8B42C", +"M c #F7AE1A", +"N c #F6A90A", +"O c #F4A709", +"P c #E9A721", +"Q c #DDA940", +"R c #D0AD65", +"S c #C5B28A", +"T c #BDB5A6", +"U c #C3AA79", +"V c #C6A86C", +"W c #BCA36F", +"X c #B3B1AE", +"Y c #A9ADB6", +"Z c #617BAF", +"` c #99A0AC", +" . c #B4B4B4", +".. c #D2B270", +"+. c #F1A509", +"@. c #EFA309", +"#. c #ECA109", +"$. c #E79F09", +"%. c #E49F11", +"&. c #DCA027", +"*. c #D1A142", +"=. c #C1A058", +"-. c #BB9B5A", +";. c #BCA679", +">. c #B8B4AA", +",. c #98A1B4", +"'. c #5772AB", +"). c #A1A5AE", +"!. c #B7B4AD", +"~. c #DCB158", +"{. c #E99F09", +"]. c #E69D09", +"^. c #E39C09", +"/. c #D09928", +"(. c #C49945", +"_. c #BA9B5A", +":. c #BD9B57", +"<. c #AFA695", +"[. c #8A96B2", +"}. c #526EA9", +"|. c #A3A7B0", +"1. c #D0B274", +"2. c #F7AC14", +"3. c #E59E09", +"4. c #D39A27", +"5. c #BD9D5D", +"6. c #AEA696", +"7. c #B3A486", +"8. c #B2A384", +"9. c #B9A478", +"0. c #B7AF9F", +"a. c #8090AE", +"b. c #4C6AA6", +"c. c #A1A5AF", +"d. c #DEB156", +"e. c #EEA309", +"f. c #DA9C1C", +"g. c #BE9E5B", +"h. c #B0B0B1", +"i. c #B5B3AF", +"j. c #B3B3B4", +"k. c #B3B2B1", +"l. c #8190AD", +"m. c #4364A2", +"n. c #979FAD", +"o. c #C9B489", +"p. c #F2AC1F", +"q. c #F7AA0E", +"r. c #E59D0A", +"s. c #C2A25D", +"t. c #AFAFB0", +"u. c #8995AD", +"v. c #3B5D9F", +"w. c #828FAA", +"x. c #B9B7B3", +"y. c #DFB050", +"z. c #EDA309", +"A. c #E19B0A", +"B. c #C1A670", +"C. c #97A1B0", +"D. c #3B5D9C", +"E. c #6178A3", +"F. c #B4B4B5", +"G. c #CBB485", +"H. c #F2AB18", +"I. c #F1A60B", +"J. c #E1A121", +"K. c #CBA048", +"L. c #C19B4C", +"M. c #DF9E1B", +"N. c #E39B09", +"O. c #E09A09", +"P. c #C3A567", +"Q. c #B6B6B7", +"R. c #ACAFB4", +"S. c #4E6C9D", +"T. c #3B5D99", +"U. c #8A96AB", +"V. c #BAB7B2", +"W. c #E0AF4A", +"X. c #EDA716", +"Y. c #D4A139", +"Z. c #BFA267", +"`. c #A69F93", +" + c #858FA2", +".+ c #8E96A4", +"++ c #BFA570", +"@+ c #DA9C1E", +"#+ c #E19A09", +"$+ c #DD9809", +"%+ c #C4A35F", +"&+ c #7889A6", +"*+ c #2E5395", +"=+ c #49679B", +"-+ c #8895AB", +";+ c #B3B4B6", +">+ c #BBB5A9", +",+ c #C5A76B", +"'+ c #B5A380", +")+ c #9A9DA2", +"!+ c #7D8CA5", +"~+ c #7988A1", +"{+ c #8891A3", +"]+ c #AFB0B0", +"^+ c #B5B5B5", +"/+ c #C2A873", +"(+ c #D69A1D", +"_+ c #DA9609", +":+ c #C6A156", +"<+ c #ABADB1", +"[+ c #5C739B", +"}+ c #295091", +"|+ c #315693", +"1+ c #536E9C", +"2+ c #677DA1", +"3+ c #63799D", +"4+ c #58719C", +"5+ c #5C7198", +"6+ c #73829C", +"7+ c #A2A5A9", +"8+ c #B5B5B6", +"9+ c #C0A772", +"0+ c #D2961C", +"a+ c #C59E4D", +"b+ c #A6A8AD", +"c+ c #6C7E9C", +"d+ c #476291", +"e+ c #3A5B90", +"f+ c #415F8F", +"g+ c #586F93", +"h+ c #78859B", +"i+ c #9EA1A7", +"j+ c #B1B1B1", +"k+ c #BFA672", +"l+ c #BC9F65", +"m+ c #B5B4B3", +"n+ c #A6A9AD", +"o+ c #A0A3A9", +"p+ c #A4A7AB", +"q+ c #ADAEAF", +"r+ c #B4B0A8", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . + . . . . . . . . . . . ", +". . . . . . . . . . . . . . . @ # $ . . . . . . . . . . ", +". . . . . . . . . . . . . . % & * = . . . . . . . . . . ", +". . . . . . . . . . . . . . - ; > , . . . . . . . . . . ", +". . . ' ) . . . . . . . . ! ~ { ] ^ . . . . . . . . . . ", +". . / ( _ : < [ } | 1 . 2 3 4 5 6 7 8 . . . . . . . . . ", +". . 9 0 a b c d e f g h 3 i j k l m n . . . . . . . . . ", +". o p q . . r s t u v w x j k l y z A B . . . C 8 D E . ", +"F G H a . . 8 I J K L { j M l y N O P Q R S T U V W X . ", +"Y Z ` . . . . ...w { j M l y N O +.@.#.$.%.&.*.=.-.;.>.", +",.'.).. . . . . !.~.j M l y N O +.@.#.{.].^./.(._.:.<. .", +"[.}.|.. . . . . . 1.6 2.y N O +.@.#.{.3.4.5.6.7.8.9.0.. ", +"a.b.c.. . . . . 2 d.2.y N O +.e.#.{.f.g.<.h.8 i.j.k. .. ", +"l.m.n.. . . . . o.p.q.N O +.e.#.{.r.s.t.8 . . . . . . . ", +"u.v.w.8 . . . x.y.q.N O +.z.#.{.].A.B.8 . . . . . . . . ", +"C.D.E.F.. . . G.H.N I.J.K.L.M.].N.O.P.Q.. . . . . . . . ", +"R.S.T.U.. . V.W.X.Y.Z.`. +.+++@+#+$+%+a . . . . . . . . ", +"8 &+*+=+-+;+>+,+'+)+!+~+{+]+^+/+(+_+:+n . . . . . . . . ", +". <+[+}+|+1+2+3+4+5+6+7+ .. . 8+9+0+a+^+. . . . . . . . ", +". . b+c+d+e+f+g+h+i+j+8 . . . . a k+l+m+. . . . . . . . ", +". . . F.n+o+p+q+ .8 . . . . . . . ^+r+a . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/pixmaps/nextcpu.xpm b/pixmaps/nextcpu.xpm new file mode 100644 index 0000000..7348515 --- /dev/null +++ b/pixmaps/nextcpu.xpm @@ -0,0 +1,54 @@ +/* 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. ", +" ..... "}; diff --git a/pixmaps/os2cpu.xpm b/pixmaps/os2cpu.xpm new file mode 100644 index 0000000..3bf1455 --- /dev/null +++ b/pixmaps/os2cpu.xpm @@ -0,0 +1,57 @@ +/* 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 .....", +" ........ ....."}; diff --git a/pixmaps/sgicpu.xpm b/pixmaps/sgicpu.xpm new file mode 100644 index 0000000..9cf0cdb --- /dev/null +++ b/pixmaps/sgicpu.xpm @@ -0,0 +1,58 @@ +/* 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 "}; diff --git a/pixmaps/slackware.xpm b/pixmaps/slackware.xpm new file mode 100644 index 0000000..dfb7213 --- /dev/null +++ b/pixmaps/slackware.xpm @@ -0,0 +1,314 @@ +/* XPM */ +static char * slackware_xpm[] = { +"28 24 287 2", +" c None", +". c #B8B8B8", +"+ c #B7B7B8", +"@ c #A4A7B4", +"# c #8B94B1", +"$ c #7683AF", +"% c #6879AE", +"& c #6173AE", +"* c #6274AF", +"= c #6878AE", +"- c #7684AF", +"; c #8C95B2", +"> c #A5A8B5", +", c #B5B6B8", +"' c #9DA2B3", +") c #7986B1", +"! c #596DAD", +"~ c #4E65AF", +"{ c #4E65B1", +"] c #4F66B2", +"^ c #4E65B2", +"/ c #4E64AF", +"( c #5A6FAD", +"_ c #7885AF", +": c #A0A6B4", +"< c #B3B4B8", +"[ c #8892B1", +"} c #5A6EAE", +"| c #4F65B0", +"1 c #4D64AF", +"2 c #5D6FAE", +"3 c #8891B0", +"4 c #AEB0B5", +"5 c #AEB1B7", +"6 c #7A87B1", +"7 c #5065AD", +"8 c #576BAF", +"9 c #7F89AD", +"0 c #ABADB4", +"a c #7E8AB0", +"b c #4F66AE", +"c c #5169B3", +"d c #5469B0", +"e c #5367A9", +"f c #5365A3", +"g c #5466A5", +"h c #5468AA", +"i c #596DB1", +"j c #5669AA", +"k c #566AAA", +"l c #5268B0", +"m c #4F66B3", +"n c #566CAE", +"o c #808BAF", +"p c #ADAFB5", +"q c #8D95B1", +"r c #5167AD", +"s c #566BB2", +"t c #4F63A2", +"u c #455892", +"v c #455790", +"w c #465792", +"x c #465791", +"y c #42538C", +"z c #43548D", +"A c #3D4E89", +"B c #4A5C97", +"C c #5267AD", +"D c #4F67B3", +"E c #4F65B1", +"F c #5A6DAD", +"G c #9098B2", +"H c #AAADB6", +"I c #6576AE", +"J c #5066B2", +"K c #546AB3", +"L c #4E609D", +"M c #44548A", +"N c #4D5F9B", +"O c #566AAD", +"P c #546AB1", +"Q c #556AB0", +"R c #5367A8", +"S c #4C5D99", +"T c #475893", +"U c #5166AB", +"V c #5067B3", +"W c #6777AC", +"X c #A3A7B3", +"Y c #8892B0", +"Z c #4E65AE", +"` c #5468AD", +" . c #3F4F87", +".. c #4B5C95", +"+. c #5066AE", +"@. c #5267AC", +"#. c #4B5C94", +"$. c #4A5B92", +"%. c #5065A9", +"&. c #566AAF", +"*. c #8992B1", +"=. c #B2B3B7", +"-. c #6B7AAE", +";. c #4F66B1", +">. c #5266A9", +",. c #39497B", +"'. c #49598F", +"). c #4F65AE", +"!. c #5267AE", +"~. c #5569AD", +"{. c #5167B1", +"]. c #4D63AE", +"^. c #6F7DAD", +"/. c #ABADB5", +"(. c #A6AAB5", +"_. c #586BAC", +":. c #5368B0", +"<. c #404F82", +"[. c #3B4773", +"}. c #455489", +"|. c #4F619D", +"1. c #5165A6", +"2. c #5266AA", +"3. c #5368AE", +"4. c #5268B1", +"5. c #5067B2", +"6. c #6272AD", +"7. c #9DA2B2", +"8. c #999FB2", +"9. c #5066AD", +"0. c #4C5F9F", +"a. c #3F4D7C", +"b. c #2F3A61", +"c. c #2C375E", +"d. c #2E3A61", +"e. c #323E65", +"f. c #37436C", +"g. c #3F4D79", +"h. c #48598F", +"i. c #5267AB", +"j. c #5169B4", +"k. c #5A6EAD", +"l. c #9299B1", +"m. c #939BB2", +"n. c #4F65AF", +"o. c #5367AE", +"p. c #4F62A0", +"q. c #4B5B93", +"r. c #475689", +"s. c #43507F", +"t. c #3B4871", +"u. c #2E395C", +"v. c #27304F", +"w. c #39456F", +"x. c #4E61A3", +"y. c #5168B5", +"z. c #8C94AF", +"A. c #5063A6", +"B. c #4F63A4", +"C. c #4F66B0", +"D. c #5269B2", +"E. c #4F63A0", +"F. c #374267", +"G. c #272E47", +"H. c #415081", +"I. c #5167B0", +"J. c #8B93AE", +"K. c #989FB3", +"L. c #5168B1", +"M. c #384368", +"N. c #2F3856", +"O. c #4D5F9E", +"P. c #536AB7", +"Q. c #3C4B7A", +"R. c #1F253B", +"S. c #394672", +"T. c #5166AD", +"U. c #596DAC", +"V. c #9098AF", +"W. c #5669AB", +"X. c #5168B3", +"Y. c #2B3452", +"Z. c #141927", +"`. c #38436A", +" + c #4F64AA", +".+ c #4F67B4", +"++ c #5164A7", +"@+ c #303A5C", +"#+ c #23283A", +"$+ c #425182", +"%+ c #5268B2", +"&+ c #4E65B0", +"*+ c #6173AD", +"=+ c #9BA0B1", +"-+ c #B1B3B8", +";+ c #6777AD", +">+ c #5F70AA", +",+ c #6071AB", +"'+ c #28304A", +")+ c #0B0E19", +"!+ c #13151E", +"~+ c #2C3450", +"{+ c #424F7E", +"]+ c #4C5E97", +"^+ c #435180", +"/+ c #2E3651", +"(+ c #1D202A", +"_+ c #333B59", +":+ c #4B5FA1", +"<+ c #5067B5", +"[+ c #6C7BAD", +"}+ c #A9ABB4", +"|+ c #838DAE", +"1+ c #4F65AD", +"2+ c #5D6DA2", +"3+ c #5E6EA3", +"4+ c #5269B0", +"5+ c #303A5B", +"6+ c #1E222F", +"7+ c #2A324A", +"8+ c #242A3E", +"9+ c #1A1D28", +"0+ c #191B24", +"a+ c #181A22", +"b+ c #14171E", +"c+ c #202536", +"d+ c #394469", +"e+ c #4C60A2", +"f+ c #5368AD", +"g+ c #848EAF", +"h+ c #B7B7B7", +"i+ c #A4A8B4", +"j+ c #5D6FAC", +"k+ c #4E66B3", +"l+ c #5067B1", +"m+ c #4E62A6", +"n+ c #4B5E9C", +"o+ c #4D609F", +"p+ c #4A5B94", +"q+ c #4A5A90", +"r+ c #4C5D97", +"s+ c #5165A8", +"t+ c #4D64B0", +"u+ c #6373AC", +"v+ c #9EA3B3", +"w+ c #8791B0", +"x+ c #5C6DA3", +"y+ c #5C6993", +"z+ c #596AA3", +"A+ c #596AA5", +"B+ c #5A6CA7", +"C+ c #566CAF", +"D+ c #8992B0", +"E+ c #B5B5B8", +"F+ c #B2B4B7", +"G+ c #7784AF", +"H+ c #596DAB", +"I+ c #5E6C9E", +"J+ c #5F6E9E", +"K+ c #5F6E9D", +"L+ c #6271A4", +"M+ c #5C6EAC", +"N+ c #A8ABB3", +"O+ c #A9ADB6", +"P+ c #7482AD", +"Q+ c #5167AE", +"R+ c #7481AD", +"S+ c #A7A9B4", +"T+ c #ACAEB6", +"U+ c #7D88B0", +"V+ c #5367AC", +"W+ c #576BAD", +"X+ c #7C87AD", +"Y+ c #A8ABB4", +"Z+ c #6C7BAE", +"`+ c #5268AD", +" @ c #4E66B2", +".@ c #959BB1", +"+@ c #B1B2B7", +"@@ c #979DB2", +"#@ c #5C6EAD", +"$@ c #586BAD", +"%@ c #566AAC", +"&@ c #6878AD", +"*@ c #7D88AF", +"=@ c #989EB2", +"-@ c #B1B3B7", +". . . . . . . . + @ # $ % & * = - ; > , . . . . . . . . ", +". . . . . . . ' ) ! ~ { ] ] ] ^ { / ( _ : + . . . . . . ", +". . . . . < [ } | ] ] ] ] ] ] ] ] ] ] 1 2 3 4 . . . . . ", +". . . . 5 6 7 ] ] ] ] ] ] ] ] ] ] ] ] ] ] 8 9 0 . . . . ", +". . . . a b ] ] ] ] c d e f g h i j k l ] m n o p . . . ", +". . . q r ] ] ] ] s t u v w x y z A B C D ] E F G . . . ", +". . H I J ] ] ] K L M N O P Q R S A T U V ] m 1 W X . . ", +". . Y Z ] ] ] ] ` ...+.m ] ] m @.#.$.%.V ] ] m &.*.. . ", +". =.-.;.] ] ] m >.,.'.).m ] ] ] ] !.~.{.] ] ] V ].^./.. ", +". (._.] ] ] ] ] :.<.[.}.|.1.2.3.4.5.] ] ] ] ] ] { 6.7.. ", +". 8.9.] ] ] ] ] D 0.a.b.c.d.e.f.g.h.i.j.] ] ] ] ] k.l.. ", +". m.n.] ] ] ] ] ] ] o.p.q.r.s.t.u.v.w.x.y.] ] ] m O z.. ", +". m.n.] ] ] ] m A.B.C.] ] ] 5.D.E.F.G.H.I.m ] ] m ` J.. ", +". K.r m ] ] ] L.M.N.O.5.] ] ] ] P.Q.R.S.T.m ] ] ] U.V.. ", +". @ W.] ] X.5.4.Y.Z.`. +V ] ] .+++@+#+$+%+m ] ] &+*+=+. ", +". -+;+] ] >+,+:.'+)+!+~+{+#.]+^+/+(+_+:+<+] ] D 1 [+}+. ", +". . |+1+m 2+3+4+5+6+7+8+9+0+a+b+c+d+e+<+] ] ] D f+g+h+. ", +". . i+j+k+2+3+l+m+n+n.9.o+p+q+r+s+l+] ] ] ] ] t+u+v+. . ", +". . . w+1+x+y+z+A+A+A+A+A+A+A+A+A+A+A+A+A+B+Q C+D+E+. . ", +". . . F+G+H+I+J+J+J+J+J+J+J+J+J+J+J+J+J+K+L+M+G+N+. . . ", +". . . . O+P+1+] ] ] ] ] ] ] ] ] ] ] ] ] m Q+R+S+. . . . ", +". . . . . T+U+V+] ] ] ] ] ] ] ] ] ] ] &+W+X+Y+. . . . . ", +". . . . . . + l.Z+`+&+] ] ] ] ] @1 C [+.@=.. . . . . . ", +". . . . . . . . +@@@U+;+#@$@%@#@&@*@=@-@. . . . . . . . "}; diff --git a/pixmaps/spark_0.xpm b/pixmaps/spark_0.xpm new file mode 100644 index 0000000..45cc5f5 --- /dev/null +++ b/pixmaps/spark_0.xpm @@ -0,0 +1,30 @@ +/* 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 ", +" . "}; diff --git a/pixmaps/spark_1.xpm b/pixmaps/spark_1.xpm new file mode 100644 index 0000000..d61cb94 --- /dev/null +++ b/pixmaps/spark_1.xpm @@ -0,0 +1,30 @@ +/* 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. ", +" . .. ", +" . "}; diff --git a/pixmaps/suncpu.xpm b/pixmaps/suncpu.xpm new file mode 100644 index 0000000..62718b5 --- /dev/null +++ b/pixmaps/suncpu.xpm @@ -0,0 +1,55 @@ +/* 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..."}; diff --git a/pixmaps/suse.xpm b/pixmaps/suse.xpm new file mode 100644 index 0000000..9ae8b79 --- /dev/null +++ b/pixmaps/suse.xpm @@ -0,0 +1,166 @@ +/* XPM */ +static char * suse_xpm[] = { +"28 24 139 2", +" c None", +". c #FFFFFF", +"+ c #F0F7E7", +"@ c #D8EBC3", +"# c #C3E1A2", +"$ c #B4DA8C", +"% c #AFD783", +"& c #B5DA8D", +"* c #D4E9BD", +"= c #E8F3DB", +"- c #F7FBF3", +"; c #F1F8E9", +"> c #DAECC6", +", c #EBF5E1", +"' c #F8FBF4", +") c #FDFFFD", +"! c #D9ECC5", +"~ c #8AC549", +"{ c #77BB2C", +"] c #73BA25", +"^ c #75BA29", +"/ c #81C03B", +"( c #96CB5D", +"_ c #98CC5F", +": c #7ABD30", +"< c #83C23F", +"[ c #97CB5E", +"} c #BCDD97", +"| c #DCEDC9", +"1 c #E0EFCF", +"2 c #ACD67E", +"3 c #7DBF35", +"4 c #9ECE68", +"5 c #A7D377", +"6 c #ADD680", +"7 c #C3E1A3", +"8 c #C4E2A5", +"9 c #8BC54B", +"0 c #78BC2E", +"a c #ACD67F", +"b c #BBDD96", +"c c #A2D16F", +"d c #E7F3DA", +"e c #B8DB91", +"f c #76BB2A", +"g c #73B925", +"h c #85C241", +"i c #86C343", +"j c #A9D479", +"k c #9FCF6A", +"l c #A4D272", +"m c #8FC751", +"n c #C9E4AB", +"o c #74BA28", +"p c #92C955", +"q c #B1D887", +"r c #B5DA8C", +"s c #A0D06C", +"t c #9ECF69", +"u c #D7EBC1", +"v c #E5F3D8", +"w c #8CC64C", +"x c #A5D273", +"y c #93C957", +"z c #74BA27", +"A c #78BB2D", +"B c #98CB5F", +"C c #ABD57B", +"D c #ABD57C", +"E c #DAECC5", +"F c #BBDD95", +"G c #DDEDCB", +"H c #CFE7B6", +"I c #CAE4AE", +"J c #DBEDC8", +"K c #7DBF36", +"L c #84C241", +"M c #93C958", +"N c #8FC74F", +"O c #88C346", +"P c #89C548", +"Q c #96CB5C", +"R c #D8EBC2", +"S c #FAFCF8", +"T c #9DCE66", +"U c #7FBF38", +"V c #D7EBC2", +"W c #A9D47A", +"X c #85C342", +"Y c #88C447", +"Z c #89C447", +"` c #CBE5AF", +" . c #C2E0A0", +".. c #73B926", +"+. c #A4D171", +"@. c #E4F1D5", +"#. c #C4E3A4", +"$. c #90C853", +"%. c #77BC2B", +"&. c #CBE5AE", +"*. c #F5FAF0", +"=. c #F1F8EA", +"-. c #F1F7EA", +";. c #95CA5A", +">. c #88C446", +",. c #C1E09F", +"'. c #E2F1D3", +"). c #94CA59", +"!. c #7BBD32", +"~. c #DAECC7", +"{. c #FDFEFC", +"]. c #AAD47B", +"^. c #7DBE35", +"/. c #CEE6B4", +"(. c #8AC54A", +"_. c #B3D988", +":. c #C7E3A9", +"<. c #81C13B", +"[. c #E4F1D6", +"}. c #C6E2A7", +"|. c #B2D988", +"1. c #D4E9BC", +"2. c #7ABD31", +"3. c #A1D06D", +"4. c #CDE6B1", +"5. c #CAE4AD", +"6. c #D5EBBE", +"7. c #B1D886", +"8. c #ECF5E2", +"9. c #E9F4DE", +"0. c #F9FCF7", +"a. c #F0F7E8", +"b. c #F3F8ED", +"c. c #BADD94", +"d. c #84C240", +"e. c #96CA5C", +"f. c #91C854", +"g. c #A8D479", +"h. c #FCFDFA", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . + @ # $ % % & # * = - ; > , ' . . . . ", +". . . . . . ) ! % ~ { ] ] ] ] ] ] ^ / ( _ : < [ } | . . ", +". . . . . 1 2 3 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 4 5 6 7 . ", +". . . . 8 9 ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] 0 a _ b c d ", +". . . e f ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] g h i j k l m n ", +". . # o ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] ] p q r % s t u ", +". v 9 ] w x 5 y z ] ] ] ] ] ] ] ] ] ] ] ] ] A B C D a E ", +". F ] x G H I J # < ] ] ] : K z ] ] ] L M N O P Q q R . ", +"S T U V W X Y Z ` ...] +.@ @.#.$.] %.&.' *.=.-.' . . . ", +"' ;.>.J i ,.'.C y = ).!.~.. . . J ;.{ * . . . . . . . . ", +"{.].^./.k (._.:.<.[.}.[ d . . . . E _ |.. . . . . . . . ", +". 1.2.3.4.5.6.7.>.8.. 9.0.. . . . . a.1.b.. . . . . . . ", +". . c.^.d.e.f.^ } . . . . . . . . . . . . . . . . . . . ", +". . . @ |.k g.&.. . . . . . . . . . . . . . . . . . . . ", +". . . . . h.{.. . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . ", +". . . . . . . . . . . . . . . . . . . . . . . . . . . . "}; diff --git a/pixmaps/toaster.xpm b/pixmaps/toaster.xpm new file mode 100644 index 0000000..72e77dc --- /dev/null +++ b/pixmaps/toaster.xpm @@ -0,0 +1,64 @@ +/* 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______"}; diff --git a/pixmaps/ubuntu.xpm b/pixmaps/ubuntu.xpm new file mode 100644 index 0000000..69588ed --- /dev/null +++ b/pixmaps/ubuntu.xpm @@ -0,0 +1,235 @@ +/* XPM */ +static char * ubuntu_xpm[] = { +"28 24 208 2", +" c None", +". c #FFFFFF", +"+ c #FEFCFC", +"@ c #F7D9CF", +"# c #EEAA93", +"$ c #E88562", +"% c #E36C43", +"& c #E16236", +"* c #E16134", +"= c #E2673D", +"- c #E57954", +"; c #EB997C", +"> c #F3C5B5", +", c #FDF4F1", +"' c #F7DBD1", +") c #EB997D", +"! c #E15F32", +"~ c #DC4814", +"{ c #DD4814", +"] c #DC4713", +"^ c #DD501F", +"/ c #E6805D", +"( c #F2BFAE", +"_ c #FEFBFA", +": c #FEFEFE", +"< c #F3BDAB", +"[ c #E36E45", +"} c #DD4B18", +"| c #DE5323", +"1 c #EC9C80", +"2 c #FAEBE6", +"3 c #F0B39D", +"4 c #DF592A", +"5 c #DD4C19", +"6 c #EB9577", +"7 c #EFAF98", +"8 c #E67A55", +"9 c #E98D6D", +"0 c #FAE9E3", +"a c #F3C1B0", +"b c #E05D30", +"c c #DE4F1D", +"d c #E05A2B", +"e c #E05B2D", +"f c #DF5423", +"g c #E57751", +"h c #FCF2EE", +"i c #F4C9BA", +"j c #EB9779", +"k c #FCF7F6", +"l c #F9E2DA", +"m c #E4744C", +"n c #DD4D1A", +"o c #E98C6B", +"p c #F3C5B4", +"q c #F8DDD4", +"r c #F9E0D7", +"s c #F4CABB", +"t c #EC9E82", +"u c #FEFEFD", +"v c #F3C0AF", +"w c #DE5120", +"x c #DD4E1C", +"y c #F1B59F", +"z c #FFFDFD", +"A c #ECA186", +"B c #E67C58", +"C c #ED9F85", +"D c #FEFDFD", +"E c #FEFBFB", +"F c #F2BBA9", +"G c #EDA288", +"H c #EDA187", +"I c #E36F47", +"J c #E57149", +"K c #F9E7E1", +"L c #F9E4DD", +"M c #E2673C", +"N c #E67D58", +"O c #FAE7E1", +"P c #E88967", +"Q c #EC9F84", +"R c #EA9475", +"S c #E98E6F", +"T c #EEA991", +"U c #F7D7CC", +"V c #F9E4DC", +"W c #F7D6CB", +"X c #DD4A17", +"Y c #F1B29D", +"Z c #F1BCA9", +"` c #DF5829", +" . c #F4C8B9", +".. c #F8DBD0", +"+. c #E47048", +"@. c #DD4915", +"#. c #E26438", +"$. c #F1B6A2", +"%. c #FCF0EC", +"&. c #E78360", +"*. c #FDF7F6", +"=. c #FFFEFE", +"-. c #EB987B", +";. c #E88664", +">. c #FDF9F7", +",. c #FCF3EF", +"'. c #E88765", +"). c #E16033", +"!. c #F5CCBD", +"~. c #F2BFAD", +"{. c #DE4E1C", +"]. c #E16235", +"^. c #FAE6DF", +"/. c #FCF6F4", +"(. c #E0592A", +"_. c #EC9B7E", +":. c #EA9476", +"<. c #FDF6F4", +"[. c #EA9173", +"}. c #FAE7E0", +"|. c #E16337", +"1. c #DF5424", +"2. c #F7D6CA", +"3. c #FDF2EF", +"4. c #EC9B80", +"5. c #F6D5C9", +"6. c #EFAC95", +"7. c #DD4815", +"8. c #EEA88F", +"9. c #EEA78D", +"0. c #E15F31", +"a. c #F4CCBE", +"b. c #FCF2EF", +"c. c #EC9B7F", +"d. c #F6D5CA", +"e. c #EEA68C", +"f. c #EDA48A", +"g. c #DD4F1D", +"h. c #F4C9BB", +"i. c #DE511F", +"j. c #FEFBF9", +"k. c #EC997C", +"l. c #E16032", +"m. c #F2BEAD", +"n. c #F9E6DF", +"o. c #F7D9CE", +"p. c #E36E46", +"q. c #DD4B17", +"r. c #E26539", +"s. c #FCF1ED", +"t. c #E78361", +"u. c #F9E5DF", +"v. c #E2683D", +"w. c #F8DFD6", +"x. c #FAE6E0", +"y. c #E88867", +"z. c #EC9E83", +"A. c #EA9374", +"B. c #E98C6C", +"C. c #EEA78E", +"D. c #F6D6CA", +"E. c #EDA48B", +"F. c #F0B39E", +"G. c #ECA288", +"H. c #E67E5A", +"I. c #E88B6A", +"J. c #F2BDAA", +"K. c #EDA58C", +"L. c #EEA68E", +"M. c #E36F46", +"N. c #E4724A", +"O. c #FAE9E2", +"P. c #F9E3DC", +"Q. c #E5754E", +"R. c #E88A69", +"S. c #F3C4B4", +"T. c #EC9D82", +"U. c #F3BFAE", +"V. c #F0B5A0", +"W. c #F3C2B1", +"X. c #E05E30", +"Y. c #E05C2D", +"Z. c #DE5322", +"`. c #FCF8F7", +" + c #F1B5A1", +".+ c #E15C2E", +"++ c #EB9679", +"@+ c #EFB09A", +"#+ c #E57A54", +"$+ c #E99071", +"%+ c #FAECE7", +"&+ c #F2BEAC", +"*+ c #E46F46", +"=+ c #DE5424", +"-+ c #FBEFEB", +";+ c #F7DCD2", +">+ c #DC4915", +",+ c #DD501E", +"'+ c #E7815D", +")+ c #FDFDFD", +"!+ c #F8DACF", +"~+ c #EFAD96", +"{+ c #E78461", +"]+ c #E36B41", +"^+ c #E05F32", +"/+ c #E05E31", +"(+ c #E16539", +"_+ c #E57953", +". . . . . . . . + @ # $ % & * = - ; > , . . . . . . . . ", +". . . . . . . ' ) ! ~ { { { { { { ] ^ / ( _ . . . . . . ", +". . . . . : < [ ] { { { { { { { { { } { | 1 2 . . . . . ", +". . . . . 3 4 { { { { { { { { { 5 6 7 8 { ~ 9 0 . . . . ", +". . . . a b { { { { { { c d e f g h . i f { { j k . . . ", +". . . l m { { { { { n o p q r s t 0 u v w { { x y . . . ", +". . z A ~ { { { { B o C D E _ : F G H I { { { { J K . . ", +". . L M { { { { N q O P Q R S T U V W G } { { { X Y . . ", +". . Z 5 { { { ` .: ..+.} { { @.#.$.: %.&.{ { { ] &.*.. ", +". =.-.] { @.@.;.>.,.'.{ { { { { { ).!.: ~.{.{ { { ].^.. ", +". /.N { (._._.:.<.i w { { { { { { { [._ }.|.{ { { 1.2.. ", +". 3.J @.4.D D T 5.6.7.{ { { { { { { ].8.9.0.{ { { c a.. ", +". b.J @.c.u u T d.6.7.{ { { { { { { ].e.f.b { { { g.a.. ", +". /.N { (._.c.:.<.h.i.{ { { { { { { [.j.}.|.{ { { 1.2.. ", +". =.k.] { @.@.;.>.,.'.{ { { { { { l.!.=.m.{.{ { { ].n.. ", +". . < 5 { { { 4 .. o.p.q.{ { @.r.$.: s.&.{ { { { t.*.. ", +". . u.v.{ { { { N w.x.y.z.A.B.C.D.L ' E.5 { { { X F.. . ", +". . z G.~ { { { { H.I.z.+ + _ u J.K.L.M.{ { { { N.O.. . ", +". . . P.Q.{ { { { { n R.S.q r .T.O.: U.w { { g.V.. . . ", +". . . . W.X.{ { { { { { c d Y.Z.g b.: .1.{ ~ ; `.. . . ", +". . . . . +.+{ { { { { { { { { } ++@+#+{ @.$+%+. . . . ", +". . . . . =.&+*+] { { { { { { { { @.} { =+z.-+. . . . . ", +". . . . . . . ;+c.b >+{ { { { { { ] ,+'+W._ . . . . . . ", +". . . . . . . . )+!+~+{+]+^+/+(+_+1 > b.. . . . . . . . "}; @@ -0,0 +1,10 @@ +brian 10 2000 +matias 9 1800 +Gethyn 8 1600 +me 7 1400 +me 6 1200 +me 5 1000 +me 4 800 +me 3 600 +me 2 400 +me 1 200 diff --git a/strings.h b/strings.h new file mode 100644 index 0000000..a07d138 --- /dev/null +++ b/strings.h @@ -0,0 +1,82 @@ +#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 'Lennart', 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!) 'Lennart' has\n\ +cloned himself into a billion-jillion\n\ +micro-Lenns. Their sole purpose is to\n\ +deliver the nefarious virus, which has\n\ +been cleverly diguised as a popular\n\ +init system.\n\ +\n\ +As System Administrator/Exterminator,\n\ +your job is to keep Lennart from succeeding\n\ +at his task." + +#define rules_dialog_str \ +"The Rules:\n\ +\n\ +xBill was 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\ +This is exactly like xBill so you get the idea.\n\ +\n\ +I. Whack the Lenns (click)\n\ +II. Restart the computer (click)\n\ +III. Pick up stolen Distros & 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 Lenns.\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 XLennart 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 XLennart" +#define rules_menu_str "Rules" +#define about_menu_str "About XLennart" + +#define score_menu_str "Score" +#define endgame_menu_str "End Game" +#define entername_menu_str "Enter Name" + +#endif @@ -0,0 +1,11 @@ +#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 @@ -0,0 +1,22 @@ +#include <stdarg.h> +#include <stdio.h> +#include <stdlib.h> + +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; +} @@ -0,0 +1,29 @@ +#ifndef UTIL_H +#define UTIL_H + +#include <stdlib.h> + +#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 diff --git a/x11-athena.c b/x11-athena.c new file mode 100644 index 0000000..49453b9 --- /dev/null +++ b/x11-athena.c @@ -0,0 +1,296 @@ +#include <stdio.h> +#include <stdlib.h> + +#include "x11.h" +#include "x11-athena.h" + +#include <X11/Xaw/XawInit.h> +#include <X11/Xaw/Label.h> +#include <X11/Xaw/Box.h> +#include <X11/Xaw/MenuButton.h> +#include <X11/Xaw/SimpleMenu.h> +#include <X11/Xaw/SmeBSB.h> +#include <X11/Xaw/SmeLine.h> +#include <X11/Xaw/AsciiText.h> + +#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; +} diff --git a/x11-athena.h b/x11-athena.h new file mode 100644 index 0000000..5ae419b --- /dev/null +++ b/x11-athena.h @@ -0,0 +1,9 @@ +#ifndef X11_ATHENA_H +#define X11_ATHENA_H + +#include "UI.h" + +void +x11_athena_setmethods(UI_methods **methodsp); + +#endif diff --git a/x11-motif.c b/x11-motif.c new file mode 100644 index 0000000..b1af1b0 --- /dev/null +++ b/x11-motif.c @@ -0,0 +1,296 @@ +#include <stdio.h> +#include <stdlib.h> + +#include "x11.h" +#include "x11-motif.h" + +#include <Xm/Xm.h> +#include <Xm/Label.h> +#include <Xm/RowColumn.h> +#include <Xm/DrawingA.h> +#include <Xm/PushB.h> +#include <Xm/CascadeB.h> +#include <Xm/MessageB.h> +#include <Xm/SelectioB.h> +#include <Xm/Text.h> + +#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; +} diff --git a/x11-motif.h b/x11-motif.h new file mode 100644 index 0000000..cae0b4e --- /dev/null +++ b/x11-motif.h @@ -0,0 +1,9 @@ +#ifndef X11_MOTIF_H +#define X11_MOTIF_H + +#include "UI.h" + +void +x11_motif_setmethods(UI_methods **methodsp); + +#endif @@ -0,0 +1,388 @@ +#include <stdio.h> +#include <stdlib.h> +#include <sys/types.h> +#include <sys/stat.h> + +#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; +} @@ -0,0 +1,56 @@ +#ifndef X11_WIDGETS_H +#define X11_WIDGETS_H + +#include <X11/Xlib.h> +#include <X11/Intrinsic.h> +#include <X11/IntrinsicP.h> +#include <X11/StringDefs.h> +#include <X11/Shell.h> +#include <X11/Xresource.h> +#include <X11/xpm.h> + +#ifdef VMS +#include <signal.h> +#include <X11VMS/vmsutil.h> +#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 diff --git a/xlennart.6 b/xlennart.6 new file mode 100644 index 0000000..017389c --- /dev/null +++ b/xlennart.6 @@ -0,0 +1,85 @@ +.\" This man page was originally written by pema@niksula.hut.fi for XBill +.\" It's currently maintained by xylem2020@gmail.com +.TH "xlennart" "6" "October 2014" "Version 1.0" +.SH NAME +xlennart \- save your computers from SystenD [TM] virus +.SH SYNOPSIS +.sp +.B xlennart [-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 SystenD [TM], +a virus cleverly designed to resemble a popular init 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 SystenD 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 Lenns on/off the screen +.br + Number of Computers running their init/off/SystenD +.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 <bwelling@xbill.org> for XBill 2.1 + + Gethyn ThomasQuail <xylem2020@gmail.com> for XLennart +.br +Programming & graphics: +.br + Matias Duarte <matias@hyperimage.com> for XBill 2.0 + + Gethyn ThomasQuail <xylem2020@gmail.com> for XLennart +.br + +.SH COPYING +Copyright (c) 1994-2001 Psychosoft +Copyright (c) 2014 Bloodbath Softworks +.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. +xlennart is distributed under the GNU General Public License. +.PP +Go play the game now! diff --git a/xlennart.desktop b/xlennart.desktop new file mode 100644 index 0000000..636f79a --- /dev/null +++ b/xlennart.desktop @@ -0,0 +1,10 @@ +#!/usr/bin/env xdg-open +[Desktop Entry] +Version=1.0 +Type=Application +Name=XLennart +Comment=Save the Unix world. +Exec=xlennart +Icon=xlennart +Terminal=false +Categories=Game;ActionGame; diff --git a/xlennart.spec b/xlennart.spec new file mode 100644 index 0000000..1acc3ba --- /dev/null +++ b/xlennart.spec @@ -0,0 +1,56 @@ +Summary: Stop Lennart from loading his init system into all the computers. +Name: xlennart +Version: 1.0 +Release: 1 +Copyright: GPL +Group: Amusements/Games +Source: http://www.bloobathsoftworks.com/xylemon/uploads/xlennart/%{name}-%{version}.tar.gz +BuildRoot: %{_tmppath}/%{name}-root + +%description +The XLennart game tests your reflexes as you seek out and destroy all +forms of Lennart, establish a new init system throughout the +universe, and boldly go where no geek has gone before. XLennart may +become an increasingly attractive option as the Unix Age progresses, +and it is NOT 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/xlennart.desktop <<EOF +[Desktop Entry] +Version=1.0 +Type=Application +Name=XLennart +Comment=Save the Unix world. +Exec=xlennart +Icon=xlennart +Terminal=false +Categories=Game;ActionGame; +EOF +) + +%clean +rm -rf $RPM_BUILD_ROOT + +%files +%defattr(-,root,root) +/usr/bin/xlennart +%config(noreplace) /var/lib/games/xlennart/scores +/usr/share/xlennart +%config /etc/X11/applnk/Games/xlennart.desktop + +%changelog +* Sun Oct 29 2014 Gethyn ThomasQuail <xylem2020@gmail.com> +- First release! diff --git a/xlennart.xpm b/xlennart.xpm new file mode 100644 index 0000000..19222c7 --- /dev/null +++ b/xlennart.xpm @@ -0,0 +1,85 @@ +/* XPM */ +static char * icon_xpm[] = { +"64 64 18 1", +" c None", +". c #000000", +"+ c #004888", +"@ c #0070B0", +"# c #303860", +"$ c #40B0E8", +"% c #503050", +"& c #FFFFFF", +"* c #604060", +"= c #68B0E8", +"- c #88A070", +"; c #A8C8E0", +"> c #D8B050", +", c #D8B858", +"' c #F0F0D8", +") c #F0F8F8", +"! c #F8F890", +"~ c #F8F8F8", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" ", +" =;== ", +" =$@@@@@==;@@@@@@@@@@@$= ", +" $@@@@@@@@@@@=);)))))===$$$@$@@@@ ", +" @$$@$$=);$$$=);)))));)@$=$$=@$$$@@@ ", +" @@$$$$=);$$$=);)~';;;;*=@$$$@$$$$$=;;@ ", +" @@$$@$);$$$=);))'''!',,**=;$$$$$$$;)))@@ ", +" =@;$@@)=@$$=);))'''!',,,,**@*$$$$$$))));@@ ", +" =@=$=)=@@@@);)~~''!',,,,,,,@,*$*$$=))~)=$@ ", +" @@$=)=@@@$)=))~''!',,,,,,,,@-,*,*$;));;@$@ ", +" @$=);@@@@);))~;'!',,,,,,,,,@-*,,*$~;))=$$$@ ", +" @=);$$@$)=))~!'!',,,,,,,,,,@-,,,,-~)))$$$$$@ ", +" @==$$$=)=)));'!',,,,,,,,,,,@-,,,,';));$$$$$@ ", +" @@@$$=);)));'!',,,,,,,,,,,,@-,,,,~-))$$$$$$@ ", +" @$@@=)))))=;!',,,,,,,,....,@-,,,!~~))$$$$$$@ ", +" @$$@)))))=;;',....,,,.&&&&.@-,,,'!')=$$$$$$@ ", +" @$=);)));)=;,.&&&&.,.&&&&&.@-,,,~!);$$$$$$$@ ", +" @=);;)););;@*.&&&&.,.&&&&&&##..!;~;$$$$$$$$@ ", +" @);))););)@@@.&&&&&..&&&&&&#='*)-'=@$$$$$$$@ ", +" @;;))=);)$$**.&&&&&..&&&&&&#=~*)=)$+@$$$$$$@ ", +" ;;));;;)$$$**.&&&&&.~.&&&&&#**;;~;*$+@$$$$$@ ", +" ;)););;$$$$*~..&&&.~'.&&&&.=@*~*~~*@$+@$$$$@ ", +" =);;;)@$$$$*'~'...~'~'....~#@*~~~**+$$+@$$$@ ", +" $=;;)$@@$$$****%%*'*'~'~'~*;@)'~'*+++$$+@$$@ ", +" $;=)@$$@$$$$$*%%%*~'*'~'~*%;@)~~~*++++$$+@$@ ", +" @;;@@@$@@$$$$$*%%%*~'~'~*%%;@;;;**+++++$$+$$ ", +" =)@@@@$$@@$$$$*%%%%*~'~**%%;@'~-*$++++++@$;= ", +" @@@@@@@$@@$$$$@*%%*%***%%%~)='~*$$$++++++@)$ ", +" @@@@@@@$$@$$$$@@*%*%*%%*%~~~=~*$$$$$$++++==@ ", +" @@@@@@@$$@@$$$$@*%*%*%*%~~~';'=@$$$$$$+++)+= ", +" @$@@@@@@$$@$$$$$*%%**%%'~~'~))++@$$$$$$+@;@; ", +" @@$@@@@@@$@@$$$$*%%**%'~~'~~~-+++@$$$$$$;@== ", +" @$$@@@@@@$$@$$$$*%%%*~~~'~~'$#++++@$$$$=)+;= ", +" @$$$@@@@@@$@@$$$*%%~~~~'~~''+#+++++@$$$;;; ", +" @@$$@@@@@@@$@@$$*%~'~~'~~~'%+%++++++@$$); = ", +" @@$$$@@@@@@$@@$$=';));;~~-**++@+++++++;;; + ", +" @@$$$$@@@@@@$@$=);)~'~~~%%%*+#$+++++++)= + ", +" @@$$$$@@@@@@$@$';))'~~)%%%**+#%$++++++;@ ;+$ ", +" @@$$$$$@@@@@@$';))'~~~%%%*%*+#%$$@+++;@==;$@; ", +" =@$$$$$@@@@@=);));'''%%%*%***%%$$$@++)+);$=@ ", +" ;@$$$$$$@@@@))))~~'~*%******#+$$@@++==+;;$@$ ", +" ;;$=$$$@@@;;))~~~~*********@++@@@@@)$;;;$+; ", +" $@$$$@@@@;=)))))=@***@****@@$@+@$$=;$);@+@$$$$ ", +" $+@@@@@);)))));$$$$$@+@@@@@@$@+@@;@+=@$$@$$$$; ", +" $@@$@++++;;))));;@@@@@@++@$$@@@@@@@+=@@$$$$$@$$=; ", +" $$$$$$@@@@+@@++++++++++@@@@++++++@@@@$$$$$$$$@$=; ", +" =@$@$$$$$$$$$$$$@@@@@$$@@@@@@@$$@$$$$$$$$$$@$= ", +" $@@$$$$$$$$$$$$$$$$$$$@@$$$$$$$@$$$$$$$$= ", +" =$$$==$==$$$$$$@@$$$$$$$ ", +" ==@$$= ", +" ", +" ", +" ", +" ", +" ", +" ", +" "}; |