diff options
Diffstat (limited to 'games/x11')
67 files changed, 3817 insertions, 0 deletions
diff --git a/games/x11/xneko/Makefile b/games/x11/xneko/Makefile new file mode 100644 index 0000000..a8a9a18 --- /dev/null +++ b/games/x11/xneko/Makefile @@ -0,0 +1,9 @@ +# @(#)Makefile 8.1 (Berkeley) 5/31/93 + +PROG= xneko +MAN6= xneko.6 +DPADD+= ${X11BASE}/lib/libX11.a ${LIBM} +LDDESTDIR+= -L${X11BASE}/lib +LDADD+= -lX11 -lm + +.include <bsd.prog.mk> diff --git a/games/x11/xneko/bitmaps/awake.xbm b/games/x11/xneko/bitmaps/awake.xbm new file mode 100644 index 0000000..7ad4135 --- /dev/null +++ b/games/x11/xneko/bitmaps/awake.xbm @@ -0,0 +1,14 @@ +#define awake_width 32 +#define awake_height 32 +static char awake_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x04, + 0x40, 0x10, 0x10, 0x02, 0x80, 0x28, 0x28, 0x01, 0x00, 0x49, 0x24, 0x00, + 0x06, 0x44, 0x44, 0x60, 0x18, 0x84, 0x42, 0x18, 0x60, 0x82, 0x83, 0x06, + 0x00, 0x02, 0x80, 0x00, 0x00, 0x22, 0x88, 0x00, 0x0f, 0x22, 0x88, 0x78, + 0x00, 0x22, 0x88, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x3a, 0xb9, 0x00, + 0x00, 0x04, 0x40, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x70, 0x1c, 0x02, + 0x00, 0x40, 0x04, 0x05, 0x00, 0x20, 0x88, 0x04, 0x00, 0x10, 0x50, 0x02, + 0x00, 0x08, 0x20, 0x01, 0x00, 0x0b, 0xa0, 0x01, 0x80, 0x0c, 0x61, 0x02, + 0x40, 0x18, 0x31, 0x04, 0x40, 0x10, 0x11, 0x04, 0xc0, 0x11, 0x11, 0x07, + 0x60, 0x90, 0x13, 0x0c, 0xe0, 0xff, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/cursor.xbm b/games/x11/xneko/bitmaps/cursor.xbm new file mode 100644 index 0000000..2646ea7 --- /dev/null +++ b/games/x11/xneko/bitmaps/cursor.xbm @@ -0,0 +1,8 @@ +#define cursor_width 17 +#define cursor_height 12 +#define cursor_x_hot 8 +#define cursor_y_hot 7 +static char cursor_bits[] = { + 0x20, 0x00, 0x00, 0x90, 0x20, 0x00, 0x40, 0x40, 0x00, 0x0c, 0x40, 0x00, + 0x14, 0x8f, 0x00, 0x94, 0xb0, 0x00, 0x7c, 0x20, 0x01, 0x0c, 0x4c, 0x01, + 0x0a, 0x42, 0x01, 0x42, 0x82, 0x00, 0x3b, 0x87, 0x00, 0xff, 0x7f, 0x00}; diff --git a/games/x11/xneko/bitmaps/cursor_mask.xbm b/games/x11/xneko/bitmaps/cursor_mask.xbm new file mode 100644 index 0000000..2548715 --- /dev/null +++ b/games/x11/xneko/bitmaps/cursor_mask.xbm @@ -0,0 +1,6 @@ +#define cursor_mask_width 17 +#define cursor_mask_height 12 +static char cursor_mask_bits[] = { + 0x20, 0x00, 0x00, 0x90, 0x20, 0x00, 0x40, 0x40, 0x00, 0x0c, 0x40, 0x00, + 0x1c, 0x8f, 0x00, 0x9c, 0xbf, 0x00, 0xfc, 0x3f, 0x01, 0xfc, 0x7f, 0x01, + 0xfe, 0x7f, 0x01, 0xfe, 0xff, 0x00, 0xff, 0xff, 0x00, 0xff, 0x7f, 0x00}; diff --git a/games/x11/xneko/bitmaps/down1.xbm b/games/x11/xneko/bitmaps/down1.xbm new file mode 100644 index 0000000..3a8218f --- /dev/null +++ b/games/x11/xneko/bitmaps/down1.xbm @@ -0,0 +1,14 @@ +#define down1_width 32 +#define down1_height 32 +static char down1_bits[] = { + 0x00, 0x80, 0x01, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, + 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, + 0x00, 0x78, 0x1e, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x02, 0x40, 0x00, + 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, 0x80, 0x10, 0x10, 0x02, + 0x80, 0x28, 0x28, 0x02, 0x40, 0x48, 0x24, 0x04, 0x40, 0x44, 0x44, 0x04, + 0x40, 0x84, 0x42, 0x04, 0x40, 0x82, 0x83, 0x04, 0x40, 0x02, 0x80, 0x04, + 0x60, 0x02, 0x80, 0x0c, 0xc0, 0x02, 0x80, 0x06, 0x20, 0x23, 0x88, 0x09, + 0xa0, 0x23, 0x88, 0x0b, 0xe0, 0x22, 0x88, 0x0e, 0x80, 0x04, 0x41, 0x02, + 0x00, 0x0f, 0xe0, 0x01, 0x00, 0x7c, 0x7c, 0x00, 0x00, 0xc0, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/down2.xbm b/games/x11/xneko/bitmaps/down2.xbm new file mode 100644 index 0000000..dcb92e4 --- /dev/null +++ b/games/x11/xneko/bitmaps/down2.xbm @@ -0,0 +1,14 @@ +#define down2_width 32 +#define down2_height 32 +static char down2_bits[] = { + 0x00, 0x8c, 0x61, 0x00, 0x00, 0x5a, 0xb2, 0x00, 0x00, 0x52, 0x92, 0x00, + 0x00, 0x52, 0x92, 0x00, 0x00, 0x61, 0x0a, 0x01, 0x00, 0x61, 0x06, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, + 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x80, 0x00, 0x00, 0x12, 0x90, 0x00, + 0x00, 0x29, 0x28, 0x01, 0x00, 0x49, 0x24, 0x01, 0x00, 0x45, 0x44, 0x01, + 0x00, 0x85, 0x42, 0x01, 0x00, 0x83, 0x83, 0x01, 0x00, 0x03, 0x80, 0x01, + 0x60, 0x03, 0x80, 0x0d, 0x80, 0x03, 0x80, 0x03, 0x00, 0x23, 0x88, 0x01, + 0x00, 0x23, 0x88, 0x01, 0x00, 0x22, 0x88, 0x00, 0x00, 0x06, 0xc1, 0x00, + 0x00, 0x0a, 0xa0, 0x00, 0x00, 0x72, 0x9c, 0x00, 0x00, 0xc2, 0x87, 0x00, + 0x00, 0x24, 0x48, 0x00, 0x00, 0x24, 0x48, 0x00, 0x00, 0x34, 0x58, 0x00, + 0x00, 0x18, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/dtogi1.xbm b/games/x11/xneko/bitmaps/dtogi1.xbm new file mode 100644 index 0000000..06cb335 --- /dev/null +++ b/games/x11/xneko/bitmaps/dtogi1.xbm @@ -0,0 +1,14 @@ +#define dtogi1_width 32 +#define dtogi1_height 32 +static char dtogi1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x20, 0x01, 0x00, + 0x00, 0x18, 0x02, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x40, 0x04, 0x00, + 0x00, 0x78, 0x3c, 0x00, 0x00, 0x04, 0x40, 0x00, 0x00, 0x02, 0x80, 0x00, + 0x00, 0x01, 0x00, 0x01, 0x80, 0x00, 0x00, 0x02, 0x80, 0x10, 0x10, 0x02, + 0x80, 0x28, 0x28, 0x02, 0xc0, 0x48, 0x24, 0x06, 0x30, 0x45, 0x44, 0x19, + 0x08, 0x84, 0x42, 0x20, 0xf8, 0x83, 0x83, 0x3f, 0x00, 0x02, 0x80, 0x00, + 0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x22, 0x88, 0x00, + 0x00, 0x22, 0x88, 0x00, 0x00, 0x26, 0x88, 0x00, 0x00, 0x06, 0x41, 0x00, + 0x00, 0x0a, 0x60, 0x00, 0x00, 0x72, 0x5c, 0x00, 0x00, 0xd2, 0x57, 0x00, + 0x00, 0x52, 0x54, 0x00, 0x00, 0x5a, 0x54, 0x00, 0x00, 0x54, 0x54, 0x00, + 0x00, 0x54, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/dtogi2.xbm b/games/x11/xneko/bitmaps/dtogi2.xbm new file mode 100644 index 0000000..4b9105e --- /dev/null +++ b/games/x11/xneko/bitmaps/dtogi2.xbm @@ -0,0 +1,14 @@ +#define dtogi2_width 32 +#define dtogi2_height 32 +static char dtogi2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x12, 0x00, + 0x00, 0x00, 0x11, 0x00, 0x00, 0x80, 0x08, 0x00, 0x00, 0x80, 0x04, 0x00, + 0x00, 0xf0, 0x3c, 0x00, 0x00, 0x08, 0x40, 0x00, 0x00, 0x04, 0x80, 0x00, + 0x00, 0x02, 0x00, 0x01, 0x00, 0x01, 0x00, 0x02, 0x80, 0x10, 0x10, 0x02, + 0x80, 0x28, 0x28, 0x02, 0xc0, 0x48, 0x24, 0x06, 0x30, 0x45, 0x44, 0x19, + 0x08, 0x84, 0x42, 0x20, 0xf8, 0x83, 0x83, 0x3f, 0x00, 0x02, 0x80, 0x00, + 0x00, 0x02, 0x80, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x22, 0x88, 0x00, + 0x00, 0x22, 0x88, 0x00, 0x00, 0x22, 0xc8, 0x00, 0x00, 0x04, 0xc1, 0x00, + 0x00, 0x0c, 0xa0, 0x00, 0x00, 0x74, 0x9c, 0x00, 0x00, 0xd4, 0x97, 0x00, + 0x00, 0x54, 0x94, 0x00, 0x00, 0x54, 0xb4, 0x00, 0x00, 0x54, 0x54, 0x00, + 0x00, 0x50, 0x54, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/dwleft1.xbm b/games/x11/xneko/bitmaps/dwleft1.xbm new file mode 100644 index 0000000..d529546 --- /dev/null +++ b/games/x11/xneko/bitmaps/dwleft1.xbm @@ -0,0 +1,14 @@ +#define dwleft1_width 32 +#define dwleft1_height 32 +static char dwleft1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x00, 0x00, 0x1c, 0x07, 0x00, 0xc0, 0x07, 0x08, 0x00, 0x20, 0xf0, 0x07, + 0x00, 0x10, 0xc0, 0x01, 0x00, 0x08, 0x00, 0x03, 0x18, 0x0f, 0x00, 0x06, + 0x28, 0x0d, 0x00, 0x04, 0x48, 0x09, 0x10, 0x04, 0x88, 0x11, 0x08, 0x04, + 0x08, 0x20, 0x04, 0x04, 0x08, 0x40, 0x04, 0x04, 0x08, 0x40, 0x04, 0x02, + 0x24, 0x42, 0x04, 0x02, 0x24, 0x42, 0x04, 0x02, 0x27, 0xf2, 0x08, 0x02, + 0x04, 0x00, 0x08, 0x02, 0x24, 0x00, 0x08, 0x02, 0x04, 0x00, 0x11, 0x01, + 0x68, 0x20, 0x91, 0x00, 0xf0, 0x1f, 0x8a, 0x00, 0xc0, 0x1f, 0x4a, 0x00, + 0x00, 0x3f, 0x4c, 0x00, 0x00, 0xfe, 0x24, 0x00, 0x00, 0x8c, 0x37, 0x00, + 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/dwleft2.xbm b/games/x11/xneko/bitmaps/dwleft2.xbm new file mode 100644 index 0000000..6248e70 --- /dev/null +++ b/games/x11/xneko/bitmaps/dwleft2.xbm @@ -0,0 +1,14 @@ +#define dwleft2_width 32 +#define dwleft2_height 32 +static char dwleft2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x80, 0x3f, 0x00, 0x00, 0xe0, 0x40, 0x3e, 0x00, 0x90, 0x38, 0x41, + 0x00, 0x20, 0x89, 0x38, 0x00, 0x60, 0x72, 0x04, 0x00, 0x90, 0x1c, 0x04, + 0x00, 0x08, 0x00, 0x04, 0x80, 0x0d, 0x00, 0x04, 0x86, 0x07, 0x00, 0x04, + 0xde, 0x0c, 0x00, 0x04, 0xf2, 0x18, 0x00, 0x02, 0xe2, 0x31, 0x00, 0x01, + 0x86, 0x60, 0x80, 0x00, 0x04, 0x40, 0x60, 0x00, 0x04, 0x80, 0x10, 0x00, + 0x04, 0x00, 0x08, 0x00, 0x15, 0x71, 0x08, 0x00, 0x16, 0x09, 0x04, 0x00, + 0x14, 0x81, 0x04, 0x00, 0x04, 0x40, 0x02, 0x00, 0x2c, 0x30, 0x01, 0x00, + 0x18, 0x8f, 0x00, 0x00, 0xf8, 0x43, 0x00, 0x00, 0x7c, 0x22, 0x00, 0x00, + 0x3c, 0x22, 0x00, 0x00, 0x3c, 0x12, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/dwright1.xbm b/games/x11/xneko/bitmaps/dwright1.xbm new file mode 100644 index 0000000..e071a2f --- /dev/null +++ b/games/x11/xneko/bitmaps/dwright1.xbm @@ -0,0 +1,14 @@ +#define dwright1_width 32 +#define dwright1_height 32 +static char dwright1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, + 0xe0, 0x38, 0x00, 0x00, 0x10, 0xe0, 0x03, 0x00, 0xe0, 0x0f, 0x04, 0x00, + 0x80, 0x03, 0x08, 0x00, 0xc0, 0x00, 0x10, 0x00, 0x60, 0x00, 0xf0, 0x18, + 0x20, 0x00, 0xb0, 0x14, 0x20, 0x08, 0x90, 0x12, 0x20, 0x10, 0x88, 0x11, + 0x20, 0x20, 0x04, 0x10, 0x20, 0x20, 0x02, 0x10, 0x40, 0x20, 0x02, 0x10, + 0x40, 0x20, 0x42, 0x24, 0x40, 0x20, 0x42, 0x24, 0x40, 0x10, 0x4f, 0xe4, + 0x40, 0x10, 0x00, 0x20, 0x40, 0x10, 0x00, 0x24, 0x80, 0x88, 0x00, 0x20, + 0x00, 0x89, 0x04, 0x16, 0x00, 0x51, 0xf8, 0x0f, 0x00, 0x52, 0xf8, 0x03, + 0x00, 0x32, 0xfc, 0x00, 0x00, 0x24, 0x7f, 0x00, 0x00, 0xec, 0x31, 0x00, + 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/dwright2.xbm b/games/x11/xneko/bitmaps/dwright2.xbm new file mode 100644 index 0000000..6565caa --- /dev/null +++ b/games/x11/xneko/bitmaps/dwright2.xbm @@ -0,0 +1,14 @@ +#define dwright2_width 32 +#define dwright2_height 32 +static char dwright2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0xfc, 0x01, 0x00, 0x7c, 0x02, 0x07, 0x00, 0x82, 0x1c, 0x09, 0x00, + 0x1c, 0x91, 0x04, 0x00, 0x20, 0x4e, 0x06, 0x00, 0x20, 0x38, 0x09, 0x00, + 0x20, 0x00, 0x10, 0x00, 0x20, 0x00, 0xb0, 0x01, 0x20, 0x00, 0xe0, 0x61, + 0x20, 0x00, 0x30, 0x7b, 0x40, 0x00, 0x18, 0x4f, 0x80, 0x00, 0x8c, 0x47, + 0x00, 0x01, 0x06, 0x61, 0x00, 0x06, 0x02, 0x20, 0x00, 0x08, 0x01, 0x20, + 0x00, 0x10, 0x00, 0x20, 0x00, 0x10, 0x8e, 0xa8, 0x00, 0x20, 0x90, 0x68, + 0x00, 0x20, 0x81, 0x28, 0x00, 0x40, 0x02, 0x20, 0x00, 0x80, 0x0c, 0x34, + 0x00, 0x00, 0xf1, 0x18, 0x00, 0x00, 0xc2, 0x1f, 0x00, 0x00, 0x44, 0x3e, + 0x00, 0x00, 0x44, 0x3c, 0x00, 0x00, 0x48, 0x3c, 0x00, 0x00, 0x70, 0x18, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/icon.xbm b/games/x11/xneko/bitmaps/icon.xbm new file mode 100644 index 0000000..f1f6f05 --- /dev/null +++ b/games/x11/xneko/bitmaps/icon.xbm @@ -0,0 +1,14 @@ +#define icon_width 32 +#define icon_height 32 +static char icon_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x06, 0xc0, 0x01, 0x00, 0x07, + 0x40, 0x03, 0x80, 0x0f, 0x60, 0x06, 0x80, 0x1f, 0xa0, 0x05, 0xc0, 0x1d, + 0xb0, 0xea, 0xcf, 0x1f, 0x50, 0x3c, 0xf8, 0x3f, 0x58, 0x03, 0xc0, 0x3f, + 0xc8, 0x01, 0x00, 0x3f, 0x68, 0x00, 0x00, 0x3e, 0x38, 0x00, 0x00, 0x3c, + 0x08, 0x00, 0x00, 0x38, 0x08, 0x00, 0x00, 0x20, 0x8c, 0x0f, 0xf8, 0x20, + 0x44, 0x10, 0x04, 0x21, 0x24, 0x28, 0x0a, 0x22, 0x26, 0x20, 0x02, 0x22, + 0x42, 0x10, 0x04, 0x41, 0x82, 0x0f, 0xf8, 0x40, 0x02, 0x00, 0x00, 0x40, + 0x02, 0x80, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x63, 0x00, 0x00, 0x80, + 0x91, 0x00, 0x00, 0xc7, 0x49, 0x00, 0x80, 0xc9, 0xa9, 0x20, 0x82, 0xe2, + 0xa1, 0xc0, 0x01, 0xa5, 0xa3, 0x00, 0x00, 0xa5, 0x05, 0x00, 0x00, 0x91, + 0x01, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x80}; diff --git a/games/x11/xneko/bitmaps/jare2.xbm b/games/x11/xneko/bitmaps/jare2.xbm new file mode 100644 index 0000000..86723f7 --- /dev/null +++ b/games/x11/xneko/bitmaps/jare2.xbm @@ -0,0 +1,14 @@ +#define jare2_width 32 +#define jare2_height 32 +static char jare2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x00, 0xd0, 0x00, 0x00, 0x00, 0x10, 0x01, 0x00, 0x00, 0x10, 0x02, 0x00, + 0xe0, 0x10, 0x0c, 0x00, 0x20, 0x37, 0x10, 0x00, 0x20, 0x18, 0x20, 0x00, + 0x40, 0x00, 0x41, 0x00, 0x40, 0x00, 0x42, 0x00, 0x40, 0x00, 0x50, 0x00, + 0x40, 0x08, 0x48, 0x00, 0x80, 0x10, 0x41, 0x00, 0x80, 0x00, 0x3c, 0x00, + 0x00, 0x39, 0x22, 0x00, 0x00, 0x02, 0x44, 0x00, 0x00, 0x7c, 0x7c, 0x00, + 0x00, 0x40, 0x44, 0x00, 0x00, 0x20, 0x46, 0x00, 0x00, 0x10, 0x40, 0x00, + 0x00, 0x08, 0x30, 0x00, 0x00, 0x0b, 0xa4, 0x01, 0x80, 0x0c, 0x63, 0x02, + 0x40, 0x18, 0x01, 0x04, 0x40, 0x10, 0x01, 0x3c, 0xc0, 0x11, 0x05, 0x47, + 0x60, 0x90, 0x03, 0x3c, 0xe0, 0xff, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/kaki1.xbm b/games/x11/xneko/bitmaps/kaki1.xbm new file mode 100644 index 0000000..3f2cbdf --- /dev/null +++ b/games/x11/xneko/bitmaps/kaki1.xbm @@ -0,0 +1,14 @@ +#define kaki1_width 32 +#define kaki1_height 32 +static char kaki1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x1a, 0x00, 0x00, + 0x00, 0x62, 0x00, 0x00, 0x00, 0x82, 0x00, 0x00, 0x00, 0x02, 0x03, 0x00, + 0x3c, 0x02, 0x34, 0x00, 0xc4, 0x03, 0x58, 0x00, 0x08, 0x00, 0x58, 0x00, + 0x08, 0x20, 0x58, 0x00, 0x10, 0x10, 0xd8, 0x00, 0x20, 0x08, 0x18, 0x01, + 0x20, 0xc8, 0x18, 0x02, 0xe0, 0x21, 0x18, 0x04, 0x20, 0x00, 0x34, 0x08, + 0xe0, 0x05, 0x24, 0x08, 0xc0, 0x60, 0x38, 0x08, 0x00, 0x1f, 0x10, 0x08, + 0x00, 0x08, 0x20, 0x08, 0x00, 0x0b, 0x20, 0x08, 0x80, 0x0c, 0x21, 0x0c, + 0x40, 0x18, 0x31, 0x04, 0x40, 0x10, 0x11, 0x02, 0xc0, 0x11, 0x91, 0x7f, + 0x60, 0x90, 0xf3, 0x80, 0xe0, 0xff, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/kaki2.xbm b/games/x11/xneko/bitmaps/kaki2.xbm new file mode 100644 index 0000000..88d9540 --- /dev/null +++ b/games/x11/xneko/bitmaps/kaki2.xbm @@ -0,0 +1,14 @@ +#define kaki2_width 32 +#define kaki2_height 32 +static char kaki2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, + 0x20, 0x90, 0x00, 0x00, 0x50, 0x10, 0x01, 0x00, 0x90, 0x08, 0x02, 0x00, + 0x10, 0x09, 0x04, 0x00, 0x10, 0x06, 0x08, 0x00, 0x10, 0x00, 0x08, 0x00, + 0x20, 0x00, 0x10, 0x00, 0x20, 0x80, 0x10, 0x00, 0x20, 0x60, 0x10, 0x00, + 0x20, 0x10, 0x08, 0x00, 0xe0, 0x81, 0xf9, 0x03, 0x20, 0x60, 0x18, 0x04, + 0xe0, 0xc5, 0x0f, 0x08, 0xc0, 0xe0, 0x00, 0x08, 0x00, 0x9f, 0x11, 0x08, + 0x00, 0x08, 0x2e, 0x08, 0x00, 0x0b, 0x20, 0x08, 0x80, 0x0c, 0x21, 0x08, + 0x40, 0x18, 0x31, 0x04, 0x40, 0x10, 0x11, 0x04, 0xc0, 0x11, 0x91, 0x7f, + 0x60, 0x90, 0xf3, 0x80, 0xe0, 0xff, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/left1.xbm b/games/x11/xneko/bitmaps/left1.xbm new file mode 100644 index 0000000..706bbff --- /dev/null +++ b/games/x11/xneko/bitmaps/left1.xbm @@ -0,0 +1,14 @@ +#define left1_width 32 +#define left1_height 32 +static char left1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x0e, 0x00, 0x00, 0x80, 0x31, 0x00, 0x00, 0x60, 0xc0, 0x00, + 0x00, 0x10, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x0c, 0x04, 0x00, 0x02, + 0x14, 0x04, 0x00, 0x04, 0x64, 0x02, 0x00, 0x08, 0x88, 0x03, 0x01, 0x12, + 0x08, 0x84, 0x00, 0x23, 0x08, 0x80, 0x00, 0x45, 0x04, 0x40, 0x00, 0x49, + 0x12, 0x40, 0x00, 0x92, 0x12, 0x40, 0x00, 0xa4, 0x12, 0x87, 0x00, 0xc2, + 0xc3, 0x81, 0x00, 0x01, 0x01, 0x40, 0x03, 0x01, 0x02, 0x80, 0x9e, 0x01, + 0x04, 0x03, 0x91, 0x01, 0xf8, 0x0e, 0xce, 0x03, 0x00, 0x3c, 0xc8, 0x03, + 0x00, 0xf8, 0x2f, 0x03, 0x00, 0xf0, 0x38, 0x00, 0x00, 0xe0, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/left2.xbm b/games/x11/xneko/bitmaps/left2.xbm new file mode 100644 index 0000000..f0d1aed --- /dev/null +++ b/games/x11/xneko/bitmaps/left2.xbm @@ -0,0 +1,14 @@ +#define left2_width 32 +#define left2_height 32 +static char left2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x20, 0x00, 0x00, 0xe0, 0x60, 0x00, 0x00, 0x90, 0xa0, 0x00, 0x00, 0x88, + 0x20, 0x01, 0x00, 0x44, 0x20, 0x02, 0x00, 0x22, 0x30, 0x0c, 0x00, 0x11, + 0x08, 0x10, 0xc0, 0x08, 0x24, 0x30, 0x38, 0x08, 0x24, 0x20, 0x06, 0x08, + 0x24, 0x40, 0x01, 0x10, 0x02, 0xc0, 0x00, 0x10, 0xc2, 0x03, 0x00, 0x10, + 0x02, 0x00, 0x00, 0x10, 0x04, 0x00, 0x00, 0x10, 0x78, 0x00, 0x00, 0x20, + 0x80, 0x07, 0x08, 0x20, 0x80, 0x01, 0x30, 0xc0, 0xc0, 0x00, 0xc0, 0x81, + 0x60, 0x18, 0xf8, 0x9f, 0x30, 0xfc, 0x87, 0xbf, 0x18, 0x3f, 0x00, 0xf8, + 0xcc, 0x07, 0x00, 0x30, 0x38, 0x03, 0x00, 0x00, 0x00, 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/games/x11/xneko/bitmaps/ltogi1.xbm b/games/x11/xneko/bitmaps/ltogi1.xbm new file mode 100644 index 0000000..a52961c --- /dev/null +++ b/games/x11/xneko/bitmaps/ltogi1.xbm @@ -0,0 +1,14 @@ +#define ltogi1_width 32 +#define ltogi1_height 32 +static char ltogi1_bits[] = { + 0xc0, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, + 0x43, 0x04, 0x00, 0x00, 0x37, 0x18, 0x00, 0x00, 0x0f, 0x20, 0x00, 0x00, + 0x07, 0x40, 0x00, 0x00, 0x27, 0x40, 0x00, 0x00, 0x27, 0x40, 0x00, 0x00, + 0x2d, 0x40, 0x00, 0x00, 0x31, 0x40, 0x00, 0x00, 0xc1, 0xa0, 0x0f, 0x00, + 0x03, 0x00, 0x30, 0x00, 0x0d, 0x00, 0x40, 0x00, 0x38, 0xc0, 0x80, 0x00, + 0x70, 0x20, 0x00, 0x01, 0x40, 0x10, 0x00, 0x02, 0x40, 0x08, 0x00, 0x02, + 0x80, 0x09, 0x00, 0x04, 0x00, 0x0f, 0x00, 0x0c, 0x00, 0x0c, 0x00, 0x10, + 0x00, 0x1c, 0x00, 0x20, 0x00, 0x38, 0x03, 0x46, 0x00, 0xfe, 0x01, 0x8d, + 0x00, 0x8f, 0xe0, 0x70, 0x00, 0x0f, 0x10, 0x00, 0x00, 0xfe, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/ltogi2.xbm b/games/x11/xneko/bitmaps/ltogi2.xbm new file mode 100644 index 0000000..11d6368 --- /dev/null +++ b/games/x11/xneko/bitmaps/ltogi2.xbm @@ -0,0 +1,14 @@ +#define ltogi2_width 32 +#define ltogi2_height 32 +static char ltogi2_bits[] = { + 0xc0, 0x00, 0x00, 0x00, 0x40, 0x01, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, + 0x40, 0x04, 0x00, 0x00, 0x41, 0x18, 0x00, 0x00, 0x31, 0x20, 0x00, 0x00, + 0x09, 0x40, 0x00, 0x00, 0x25, 0x40, 0x00, 0x00, 0x25, 0x40, 0x00, 0x00, + 0x23, 0x40, 0x00, 0x00, 0x83, 0x41, 0x00, 0x00, 0x65, 0xa0, 0x0f, 0x00, + 0x05, 0x00, 0x30, 0x00, 0xe9, 0x01, 0x40, 0x00, 0x31, 0xc0, 0x80, 0x00, + 0x0f, 0x20, 0x00, 0x01, 0x01, 0x10, 0x00, 0xc2, 0x7e, 0x08, 0x00, 0xa2, + 0xfe, 0x09, 0x00, 0x94, 0x0c, 0x0f, 0x00, 0x8c, 0x00, 0x0c, 0x00, 0x40, + 0x00, 0x1c, 0x00, 0x20, 0x00, 0x38, 0x03, 0x1e, 0x00, 0xfe, 0x01, 0x01, + 0x00, 0x8f, 0xe0, 0x00, 0x00, 0x0f, 0x10, 0x00, 0x00, 0xfe, 0x1f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/mati2.xbm b/games/x11/xneko/bitmaps/mati2.xbm new file mode 100644 index 0000000..41864ec --- /dev/null +++ b/games/x11/xneko/bitmaps/mati2.xbm @@ -0,0 +1,14 @@ +#define mati2_width 32 +#define mati2_height 32 +static char mati2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x28, 0x28, 0x00, 0x00, 0x48, 0x24, 0x00, + 0x00, 0x44, 0x44, 0x00, 0x00, 0x84, 0x42, 0x00, 0x00, 0x82, 0x83, 0x00, + 0x00, 0x02, 0x80, 0x00, 0x00, 0x22, 0x88, 0x00, 0x00, 0x22, 0x88, 0x00, + 0x00, 0x22, 0x88, 0x00, 0x00, 0x02, 0x80, 0x00, 0x00, 0x3a, 0xb9, 0x00, + 0x00, 0x04, 0x40, 0x00, 0x00, 0x08, 0x20, 0x00, 0x00, 0x70, 0x1c, 0x00, + 0x00, 0x40, 0x04, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x0b, 0xa0, 0x01, 0x80, 0x0c, 0x61, 0x02, + 0x40, 0x18, 0x31, 0x04, 0x40, 0x10, 0x11, 0x04, 0xc0, 0x11, 0x11, 0x7f, + 0x60, 0x90, 0x13, 0x8c, 0xe0, 0xff, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/mati3.xbm b/games/x11/xneko/bitmaps/mati3.xbm new file mode 100644 index 0000000..6087cf8 --- /dev/null +++ b/games/x11/xneko/bitmaps/mati3.xbm @@ -0,0 +1,14 @@ +#define mati3_width 32 +#define mati3_height 32 +static char mati3_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x10, 0x10, 0x00, 0x00, 0x28, 0x28, 0x00, 0x00, 0x48, 0x24, 0x00, + 0x00, 0x44, 0x44, 0x00, 0x00, 0x84, 0x42, 0x00, 0x00, 0x82, 0x83, 0x00, + 0x00, 0x3a, 0xb8, 0x00, 0x00, 0x42, 0x85, 0x00, 0x00, 0x92, 0x91, 0x00, + 0x00, 0x4e, 0xe2, 0x00, 0x00, 0x42, 0x82, 0x00, 0x00, 0x42, 0x82, 0x00, + 0x00, 0x44, 0x42, 0x00, 0x00, 0x88, 0x21, 0x00, 0x00, 0x70, 0x1c, 0x00, + 0x00, 0x40, 0x04, 0x00, 0x00, 0x20, 0x08, 0x00, 0x00, 0x10, 0x10, 0x00, + 0x00, 0x08, 0x20, 0x00, 0x00, 0x0b, 0xa0, 0x01, 0x80, 0x0c, 0x61, 0x02, + 0x40, 0x18, 0x31, 0x04, 0x40, 0x10, 0x11, 0x04, 0xc0, 0x11, 0x11, 0x7f, + 0x60, 0x90, 0x13, 0x8c, 0xe0, 0xff, 0xfe, 0x7f, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/right1.xbm b/games/x11/xneko/bitmaps/right1.xbm new file mode 100644 index 0000000..b2538e0 --- /dev/null +++ b/games/x11/xneko/bitmaps/right1.xbm @@ -0,0 +1,14 @@ +#define right1_width 32 +#define right1_height 32 +static char right1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x70, 0x00, 0x00, 0x00, 0x8c, 0x01, 0x00, 0x00, 0x03, 0x06, 0x00, + 0x80, 0x00, 0x08, 0x00, 0x80, 0x00, 0x10, 0x00, 0x40, 0x00, 0x20, 0x30, + 0x20, 0x00, 0x20, 0x28, 0x10, 0x00, 0x40, 0x26, 0x48, 0x80, 0xc0, 0x11, + 0xc4, 0x00, 0x21, 0x10, 0xa2, 0x00, 0x01, 0x10, 0x92, 0x00, 0x02, 0x20, + 0x49, 0x00, 0x02, 0x48, 0x25, 0x00, 0x02, 0x48, 0x43, 0x00, 0xe1, 0x48, + 0x80, 0x00, 0x91, 0xc3, 0x80, 0xc0, 0x02, 0x80, 0x80, 0x79, 0x01, 0x40, + 0x80, 0x89, 0xc0, 0x20, 0xc0, 0x73, 0x70, 0x1f, 0xc0, 0x13, 0x3c, 0x00, + 0xc0, 0xf4, 0x1f, 0x00, 0x00, 0x1c, 0x0f, 0x00, 0x00, 0x18, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/right2.xbm b/games/x11/xneko/bitmaps/right2.xbm new file mode 100644 index 0000000..d8b4dbe --- /dev/null +++ b/games/x11/xneko/bitmaps/right2.xbm @@ -0,0 +1,14 @@ +#define right2_width 32 +#define right2_height 32 +static char right2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x07, 0x00, 0x00, 0x04, 0x09, 0x00, 0x00, 0x06, 0x19, 0x00, 0x00, 0x05, + 0x22, 0x00, 0x80, 0x04, 0x44, 0x00, 0x40, 0x04, 0x88, 0x00, 0x30, 0x0c, + 0x10, 0x03, 0x08, 0x10, 0x10, 0x1c, 0x0c, 0x24, 0x10, 0x60, 0x04, 0x24, + 0x08, 0x80, 0x02, 0x24, 0x08, 0x00, 0x03, 0x40, 0x08, 0x00, 0xc0, 0x43, + 0x08, 0x00, 0x00, 0x40, 0x08, 0x00, 0x00, 0x20, 0x04, 0x00, 0x00, 0x1e, + 0x04, 0x10, 0x80, 0x01, 0x03, 0x0c, 0x80, 0x01, 0x81, 0x03, 0x00, 0x03, + 0xf9, 0x0f, 0x18, 0x06, 0xfd, 0xf9, 0x3f, 0x0c, 0x1f, 0x00, 0xfc, 0x18, + 0x0c, 0x00, 0xe0, 0x33, 0x00, 0x00, 0xc0, 0x1c, 0x00, 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/games/x11/xneko/bitmaps/rtogi1.xbm b/games/x11/xneko/bitmaps/rtogi1.xbm new file mode 100644 index 0000000..496c0cb --- /dev/null +++ b/games/x11/xneko/bitmaps/rtogi1.xbm @@ -0,0 +1,14 @@ +#define rtogi1_width 32 +#define rtogi1_height 32 +static char rtogi1_bits[] = { + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x40, 0x02, + 0x00, 0x00, 0x20, 0xc2, 0x00, 0x00, 0x18, 0xec, 0x00, 0x00, 0x04, 0xf0, + 0x00, 0x00, 0x02, 0xe0, 0x00, 0x00, 0x02, 0xe4, 0x00, 0x00, 0x02, 0xe4, + 0x00, 0x00, 0x02, 0xb4, 0x00, 0x00, 0x02, 0x8c, 0x00, 0xf0, 0x05, 0x83, + 0x00, 0x0c, 0x00, 0xc0, 0x00, 0x02, 0x00, 0xb0, 0x00, 0x01, 0x03, 0x1c, + 0x80, 0x00, 0x04, 0x0e, 0x40, 0x00, 0x08, 0x02, 0x40, 0x00, 0x10, 0x02, + 0x20, 0x00, 0x90, 0x01, 0x30, 0x00, 0xf0, 0x00, 0x08, 0x00, 0x30, 0x00, + 0x04, 0x00, 0x38, 0x00, 0x62, 0xc0, 0x1c, 0x00, 0xb1, 0x80, 0x7f, 0x00, + 0x0e, 0x07, 0xf1, 0x00, 0x00, 0x08, 0xf0, 0x00, 0x00, 0xf8, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/rtogi2.xbm b/games/x11/xneko/bitmaps/rtogi2.xbm new file mode 100644 index 0000000..7255c4d --- /dev/null +++ b/games/x11/xneko/bitmaps/rtogi2.xbm @@ -0,0 +1,14 @@ +#define rtogi2_width 32 +#define rtogi2_height 32 +static char rtogi2_bits[] = { + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x40, 0x02, + 0x00, 0x00, 0x20, 0x02, 0x00, 0x00, 0x18, 0x82, 0x00, 0x00, 0x04, 0x8c, + 0x00, 0x00, 0x02, 0x90, 0x00, 0x00, 0x02, 0xa4, 0x00, 0x00, 0x02, 0xa4, + 0x00, 0x00, 0x02, 0xc4, 0x00, 0x00, 0x82, 0xc1, 0x00, 0xf0, 0x05, 0xa6, + 0x00, 0x0c, 0x00, 0xa0, 0x00, 0x02, 0x80, 0x97, 0x00, 0x01, 0x03, 0x8c, + 0x80, 0x00, 0x04, 0xf0, 0x43, 0x00, 0x08, 0x80, 0x45, 0x00, 0x10, 0x7e, + 0x29, 0x00, 0x90, 0x7f, 0x31, 0x00, 0xf0, 0x30, 0x02, 0x00, 0x30, 0x00, + 0x04, 0x00, 0x38, 0x00, 0x78, 0xc0, 0x1c, 0x00, 0x80, 0x80, 0x7f, 0x00, + 0x00, 0x07, 0xf1, 0x00, 0x00, 0x08, 0xf0, 0x00, 0x00, 0xf8, 0x7f, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/sleep1.xbm b/games/x11/xneko/bitmaps/sleep1.xbm new file mode 100644 index 0000000..9cda30c --- /dev/null +++ b/games/x11/xneko/bitmaps/sleep1.xbm @@ -0,0 +1,14 @@ +#define sleep1_width 32 +#define sleep1_height 32 +static char sleep1_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0xc0, 0x1f, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x05, 0x00, 0x00, + 0x00, 0x02, 0x00, 0x00, 0x00, 0x05, 0x1f, 0x00, 0x80, 0x00, 0x08, 0x00, + 0xc0, 0x1f, 0x04, 0x00, 0x00, 0x00, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x80, 0x02, 0x00, 0x00, 0x41, 0x02, + 0x00, 0x80, 0x22, 0x02, 0x00, 0x40, 0x3e, 0x06, 0x00, 0x38, 0x14, 0x0a, + 0x00, 0x26, 0x18, 0x14, 0x00, 0x11, 0x00, 0x18, 0x00, 0x11, 0x00, 0x18, + 0x80, 0x10, 0x00, 0x38, 0x40, 0x10, 0x00, 0x2c, 0x40, 0xa0, 0x01, 0x2b, + 0x40, 0x20, 0x8e, 0x68, 0x40, 0x20, 0x10, 0x54, 0x40, 0x40, 0x40, 0x5b, + 0x80, 0x80, 0xff, 0x4c, 0x00, 0x3f, 0xf0, 0x64, 0x00, 0xe0, 0x9f, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/sleep2.xbm b/games/x11/xneko/bitmaps/sleep2.xbm new file mode 100644 index 0000000..f1a217c --- /dev/null +++ b/games/x11/xneko/bitmaps/sleep2.xbm @@ -0,0 +1,14 @@ +#define sleep2_width 32 +#define sleep2_height 32 +static char sleep2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x3f, 0x00, 0x00, 0x00, 0x10, 0x3c, 0x00, 0x00, 0x0c, 0x10, 0x00, + 0x00, 0x04, 0x88, 0x01, 0x00, 0x3f, 0x7c, 0x01, 0x00, 0x80, 0x60, 0x01, + 0x00, 0xc0, 0x21, 0x02, 0x00, 0x78, 0x3f, 0x06, 0x00, 0x26, 0x12, 0x0a, + 0x00, 0x21, 0x0c, 0x14, 0x80, 0x10, 0x00, 0x18, 0x80, 0x10, 0x00, 0x18, + 0x80, 0x10, 0x00, 0x38, 0x40, 0x10, 0x00, 0x2a, 0x40, 0xa0, 0x03, 0x29, + 0x40, 0x20, 0x8c, 0x68, 0x40, 0x20, 0x10, 0x54, 0x40, 0x40, 0x40, 0x5b, + 0x80, 0x80, 0xff, 0x4c, 0x00, 0x3f, 0xf0, 0x64, 0x00, 0xe0, 0x9f, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/space.xbm b/games/x11/xneko/bitmaps/space.xbm new file mode 100644 index 0000000..2ebb658 --- /dev/null +++ b/games/x11/xneko/bitmaps/space.xbm @@ -0,0 +1,14 @@ +#define space_width 32 +#define space_height 32 +static char space_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 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/games/x11/xneko/bitmaps/up1.xbm b/games/x11/xneko/bitmaps/up1.xbm new file mode 100644 index 0000000..2011ac7 --- /dev/null +++ b/games/x11/xneko/bitmaps/up1.xbm @@ -0,0 +1,14 @@ +#define up1_width 32 +#define up1_height 32 +static char up1_bits[] = { + 0x00, 0xc0, 0x03, 0x00, 0x00, 0x3e, 0x7c, 0x00, 0x00, 0x08, 0x10, 0x00, + 0x00, 0x26, 0x64, 0x00, 0x00, 0x22, 0x44, 0x00, 0x00, 0x22, 0x44, 0x00, + 0x00, 0x01, 0x80, 0x00, 0x00, 0x1f, 0xf8, 0x00, 0x00, 0x01, 0x80, 0x00, + 0x00, 0x22, 0x42, 0x00, 0x00, 0x1e, 0x7c, 0x00, 0x00, 0x06, 0x60, 0x00, + 0x80, 0x3f, 0xfc, 0x01, 0xc0, 0x07, 0xe0, 0x02, 0x40, 0x02, 0x40, 0x02, + 0x40, 0x02, 0x40, 0x02, 0x40, 0x01, 0x80, 0x02, 0x40, 0x00, 0x00, 0x02, + 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, + 0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x80, 0x00, 0x00, 0x06, 0x60, 0x00, + 0x00, 0x78, 0x1e, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, + 0x00, 0x40, 0x02, 0x00, 0x00, 0x40, 0x02, 0x00, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/up2.xbm b/games/x11/xneko/bitmaps/up2.xbm new file mode 100644 index 0000000..a8619d5 --- /dev/null +++ b/games/x11/xneko/bitmaps/up2.xbm @@ -0,0 +1,14 @@ +#define up2_width 32 +#define up2_height 32 +static char up2_bits[] = { + 0x00, 0xc0, 0x03, 0x00, 0x80, 0x3f, 0xfc, 0x01, 0x40, 0x0b, 0xd0, 0x02, + 0x40, 0x26, 0x64, 0x02, 0x40, 0x22, 0x44, 0x02, 0x40, 0x22, 0x44, 0x02, + 0x40, 0x01, 0x80, 0x02, 0x40, 0x1f, 0xf8, 0x02, 0x40, 0x01, 0x80, 0x02, + 0x40, 0x22, 0x42, 0x02, 0x80, 0x1e, 0x7c, 0x01, 0x80, 0x04, 0x20, 0x01, + 0x80, 0x38, 0x1c, 0x01, 0x80, 0x00, 0x00, 0x01, 0x00, 0x01, 0x80, 0x00, + 0x00, 0x0d, 0xb0, 0x00, 0x00, 0x83, 0xc1, 0x00, 0x00, 0x41, 0x82, 0x00, + 0x80, 0x40, 0x02, 0x01, 0x80, 0x40, 0x02, 0x01, 0x80, 0x40, 0x02, 0x01, + 0x80, 0x40, 0x02, 0x01, 0x80, 0x40, 0x02, 0x01, 0x80, 0x00, 0x00, 0x01, + 0x80, 0xc0, 0x03, 0x01, 0x00, 0x41, 0x82, 0x00, 0x00, 0x21, 0x84, 0x00, + 0x00, 0x11, 0x88, 0x00, 0x00, 0x09, 0x90, 0x00, 0x00, 0x06, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/upleft1.xbm b/games/x11/xneko/bitmaps/upleft1.xbm new file mode 100644 index 0000000..62ae6c7 --- /dev/null +++ b/games/x11/xneko/bitmaps/upleft1.xbm @@ -0,0 +1,14 @@ +#define upleft1_width 32 +#define upleft1_height 32 +static char upleft1_bits[] = { + 0x00, 0x00, 0x07, 0x00, 0x80, 0xff, 0x04, 0x00, 0x40, 0x78, 0x04, 0x00, + 0xe0, 0x25, 0x04, 0x00, 0x36, 0x22, 0x04, 0x00, 0x18, 0x21, 0x04, 0x00, + 0x10, 0x20, 0x04, 0x00, 0x10, 0x00, 0x04, 0x00, 0x10, 0x00, 0x3e, 0x00, + 0x20, 0x00, 0xc1, 0x01, 0x20, 0x00, 0x00, 0x02, 0xc0, 0x00, 0x00, 0x04, + 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x08, 0x00, 0x01, 0x00, 0x10, + 0x00, 0x01, 0x00, 0x20, 0x00, 0xc3, 0x00, 0x20, 0x00, 0x22, 0x00, 0x20, + 0x00, 0x32, 0x00, 0x20, 0x00, 0x22, 0x00, 0x30, 0x00, 0x24, 0x00, 0x30, + 0x00, 0x64, 0x00, 0x20, 0x00, 0xd8, 0xc0, 0x64, 0x00, 0xd0, 0xc1, 0x4f, + 0x00, 0xf0, 0xc3, 0x9b, 0x00, 0x70, 0xf0, 0x93, 0x00, 0x10, 0x1e, 0x60, + 0x00, 0xf0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/upleft2.xbm b/games/x11/xneko/bitmaps/upleft2.xbm new file mode 100644 index 0000000..0f3ddd3 --- /dev/null +++ b/games/x11/xneko/bitmaps/upleft2.xbm @@ -0,0 +1,14 @@ +#define upleft2_width 32 +#define upleft2_height 32 +static char upleft2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, 0x00, + 0x80, 0xb0, 0x01, 0x00, 0x40, 0x07, 0x3e, 0x00, 0x60, 0xc0, 0x20, 0x00, + 0x58, 0xb8, 0x10, 0x00, 0x40, 0x88, 0x10, 0x00, 0x5e, 0x80, 0x08, 0x00, + 0xf2, 0x80, 0x08, 0x00, 0xc6, 0x00, 0x14, 0x00, 0x8c, 0x03, 0x24, 0x00, + 0x18, 0x00, 0x42, 0x0e, 0x30, 0x50, 0x81, 0x09, 0x40, 0x00, 0x00, 0x09, + 0x80, 0x01, 0x80, 0x04, 0x00, 0x02, 0x80, 0x0c, 0x00, 0x04, 0x40, 0x0a, + 0x00, 0x08, 0x00, 0x32, 0x00, 0x10, 0x00, 0x40, 0x00, 0x10, 0x20, 0x40, + 0x00, 0x10, 0x40, 0x40, 0x00, 0x10, 0x80, 0x40, 0x00, 0x20, 0x80, 0x87, + 0x00, 0x20, 0x80, 0x88, 0x00, 0x40, 0x80, 0x90, 0x00, 0x80, 0x8f, 0x90, + 0x00, 0x00, 0x90, 0xa0, 0x00, 0x00, 0x90, 0xc0, 0x00, 0x00, 0x90, 0x00, + 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x60, 0x00}; diff --git a/games/x11/xneko/bitmaps/upright1.xbm b/games/x11/xneko/bitmaps/upright1.xbm new file mode 100644 index 0000000..c01d840 --- /dev/null +++ b/games/x11/xneko/bitmaps/upright1.xbm @@ -0,0 +1,14 @@ +#define upright1_width 32 +#define upright1_height 32 +static char upright1_bits[] = { + 0x00, 0xe0, 0x00, 0x00, 0x00, 0x20, 0xff, 0x01, 0x00, 0x20, 0x1e, 0x02, + 0x00, 0x20, 0xa4, 0x07, 0x00, 0x20, 0x44, 0x6c, 0x00, 0x20, 0x84, 0x18, + 0x00, 0x20, 0x04, 0x08, 0x00, 0x20, 0x00, 0x08, 0x00, 0x7c, 0x00, 0x08, + 0x80, 0x83, 0x00, 0x04, 0x40, 0x00, 0x00, 0x04, 0x20, 0x00, 0x00, 0x03, + 0x10, 0x00, 0x80, 0x00, 0x10, 0x00, 0x80, 0x00, 0x08, 0x00, 0x80, 0x00, + 0x04, 0x00, 0x80, 0x00, 0x04, 0x00, 0xc3, 0x00, 0x04, 0x00, 0x44, 0x00, + 0x04, 0x00, 0x4c, 0x00, 0x0c, 0x00, 0x44, 0x00, 0x0c, 0x00, 0x24, 0x00, + 0x04, 0x00, 0x26, 0x00, 0x26, 0x03, 0x1b, 0x00, 0xf2, 0x83, 0x0b, 0x00, + 0xd9, 0xc3, 0x0f, 0x00, 0xc9, 0x0f, 0x0e, 0x00, 0x06, 0x78, 0x08, 0x00, + 0x00, 0xc0, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/upright2.xbm b/games/x11/xneko/bitmaps/upright2.xbm new file mode 100644 index 0000000..4c43d25 --- /dev/null +++ b/games/x11/xneko/bitmaps/upright2.xbm @@ -0,0 +1,14 @@ +#define upright2_width 32 +#define upright2_height 32 +static char upright2_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xff, 0x00, + 0x00, 0x80, 0x0d, 0x01, 0x00, 0x7c, 0xe0, 0x02, 0x00, 0x04, 0x03, 0x06, + 0x00, 0x08, 0x1d, 0x1a, 0x00, 0x08, 0x11, 0x02, 0x00, 0x10, 0x01, 0x7a, + 0x00, 0x10, 0x01, 0x4f, 0x00, 0x28, 0x00, 0x63, 0x00, 0x24, 0xc0, 0x31, + 0x70, 0x42, 0x00, 0x18, 0x90, 0x81, 0x0a, 0x0c, 0x90, 0x00, 0x00, 0x02, + 0x20, 0x01, 0x80, 0x01, 0x30, 0x01, 0x40, 0x00, 0x50, 0x02, 0x20, 0x00, + 0x4c, 0x00, 0x10, 0x00, 0x02, 0x00, 0x08, 0x00, 0x02, 0x04, 0x08, 0x00, + 0x02, 0x02, 0x08, 0x00, 0x02, 0x01, 0x08, 0x00, 0xe1, 0x01, 0x04, 0x00, + 0x11, 0x01, 0x04, 0x00, 0x09, 0x01, 0x02, 0x00, 0x09, 0xf1, 0x01, 0x00, + 0x05, 0x09, 0x00, 0x00, 0x03, 0x09, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, + 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/utogi1.xbm b/games/x11/xneko/bitmaps/utogi1.xbm new file mode 100644 index 0000000..ace1af9 --- /dev/null +++ b/games/x11/xneko/bitmaps/utogi1.xbm @@ -0,0 +1,14 @@ +#define utogi1_width 32 +#define utogi1_height 32 +static char utogi1_bits[] = { + 0x00, 0x2a, 0x32, 0x00, 0x00, 0x2a, 0x4a, 0x00, 0x80, 0xeb, 0x4b, 0x00, + 0x00, 0x3e, 0xfc, 0x00, 0x00, 0x0a, 0x90, 0x00, 0x00, 0x26, 0xa4, 0x00, + 0x00, 0x23, 0xc4, 0x00, 0x00, 0x23, 0xc4, 0x00, 0x00, 0x01, 0x80, 0x00, + 0x80, 0x1f, 0xf8, 0x01, 0x80, 0x01, 0x80, 0x00, 0x00, 0x27, 0x62, 0x00, + 0x00, 0x1d, 0x5c, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x1e, 0x78, 0x00, + 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, + 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0xb0, 0x00, 0x00, 0x0d, + 0xe8, 0x01, 0x80, 0x13, 0x08, 0x03, 0xc0, 0x10, 0x10, 0x00, 0x00, 0x08, + 0xe0, 0x78, 0x1e, 0x07, 0x00, 0x47, 0xe2, 0x00, 0x00, 0x20, 0x02, 0x00, + 0x00, 0x10, 0x01, 0x00, 0x00, 0x90, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/bitmaps/utogi2.xbm b/games/x11/xneko/bitmaps/utogi2.xbm new file mode 100644 index 0000000..08adba4 --- /dev/null +++ b/games/x11/xneko/bitmaps/utogi2.xbm @@ -0,0 +1,14 @@ +#define utogi2_width 32 +#define utogi2_height 32 +static char utogi2_bits[] = { + 0x00, 0x26, 0x2a, 0x00, 0x00, 0x29, 0x2a, 0x00, 0x00, 0xe9, 0xeb, 0x00, + 0x00, 0x3d, 0x3c, 0x00, 0x00, 0x09, 0x30, 0x00, 0x00, 0x25, 0x44, 0x00, + 0x00, 0x23, 0x44, 0x00, 0x00, 0x23, 0x44, 0x00, 0x00, 0x01, 0x80, 0x00, + 0x80, 0x1f, 0xf8, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0x27, 0x62, 0x00, + 0x00, 0x1d, 0x5c, 0x00, 0x00, 0x03, 0xc0, 0x00, 0x00, 0x1e, 0x78, 0x00, + 0x00, 0x02, 0x40, 0x00, 0x00, 0x01, 0x80, 0x00, 0x80, 0x00, 0x00, 0x01, + 0x80, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x01, 0xb0, 0x00, 0x00, 0x0d, + 0xe8, 0x01, 0x80, 0x13, 0x08, 0x03, 0xc0, 0x10, 0x10, 0x00, 0x00, 0x08, + 0xe0, 0x78, 0x1e, 0x07, 0x00, 0x47, 0xe2, 0x00, 0x00, 0x40, 0x04, 0x00, + 0x00, 0x80, 0x08, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; diff --git a/games/x11/xneko/xneko.6 b/games/x11/xneko/xneko.6 new file mode 100644 index 0000000..d9567b8 --- /dev/null +++ b/games/x11/xneko/xneko.6 @@ -0,0 +1,84 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)xneko.6 8.1 (Berkeley) 5/31/93 +.\" +.TH XNEKO 6 "May 31, 1993" +.SH NAME +xneko \- cat-and-mouse chase in an X window +.SH SYNOPSIS +xneko [ +.B -display +.I display +] [ +.B -geometry +.I geometry +] [ +.B -title +.I title +] [ +.B -name +.I name +] [ +.B -iconic +] [ +.B -speed +.I speed +] [ +.B -time +.I time +] [ +.B -help +] +.SH DESCRIPTION +.I Xneko +displays a window in which a cat chases your ``mouse'' cursor. +.PP +All options except the last three above behave in the standard manner +for X applications (see +.IR X (1)). +The +.B -speed +option controls the speed of the cat (the default is 16). +The +.B -time +option controls the interval (in microseconds) between updates of the +.I xneko +window (the default is 125000). +The +.B -help +option provides a usage message and exits. +.PP +The word ``neko'' means ``cat'' in Japanese. +.SH SEE ALSO +X(1) +.SH AUTHOR +Masayuki Koba, 1990 diff --git a/games/x11/xneko/xneko.c b/games/x11/xneko/xneko.c new file mode 100644 index 0000000..731e6c8 --- /dev/null +++ b/games/x11/xneko/xneko.c @@ -0,0 +1,1762 @@ +/*- + * Copyright (c) 1991, 1993 + * The Regents of the University of California. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in the + * documentation and/or other materials provided with the distribution. + * 3. All advertising materials mentioning features or use of this software + * must display the following acknowledgement: + * This product includes software developed by the University of + * California, Berkeley and its contributors. + * 4. Neither the name of the University nor the names of its contributors + * may be used to endorse or promote products derived from this software + * without specific prior written permission. + * + * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE + * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS + * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT + * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY + * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF + * SUCH DAMAGE. + */ + +#ifndef lint +static char copyright[] = +"@(#) Copyright (c) 1991, 1993\n\ + The Regents of the University of California. All rights reserved.\n"; +#endif /* not lint */ + +#ifndef lint +static char sccsid[] = "@(#)xneko.c 8.1 (Berkeley) 5/31/93"; +#endif /* not lint */ + +/*-------------------------------------------------------------- + * + * xneko - X11 G- + * + * Original Writer: Masayuki Koba + * Programmed by Masayuki Koba, 1990 + * + *-------------------------------------------------------------- + * + *!!Introduction: + * + *!!!!K\@(#)xneko.c 8.1m%0%i%`$O Macintosh $N5/31/939%/%"%/%;%5%j!< "neko" $N + *!!F0:n$r X11 $G%^%M$?$b$N$G$9!# + * + *!!!!Macintosh "neko" $N=(0o$J5/31/936%$%s$K7I0U$rI=$7$D$D!"$3$N + *!!@(#)xneko.c 8.1m%0%i%`$r3'$5$s$KJ{$2$^$9!# + * + *-------------------------------------------------------------- + * + *!!Special Thanks to + * + * toshi-w !D!!Macintosh neko $N>R2p<T + * shio-m !D!!!VX11 $N neko $,M_$7$$!*!W$H%?%@$r$3$M$??M + * disco !D!!X11 SCCS/s.xneko.c/%K%+%k!&%"8.1P%$%6!< + * + * HOMY !D!!/usr/src/games/xneko/SCCS/s.xneko.c0;XE&<T + * BNS !D!!J#?t@(#)xneko.c 8.1l!<%sBP1~May 31, 1993C%ADs6!<T + * + * "xneko" Presented by Masayuki Koba (masa-k). + * + *-------------------------------------------------------------- + * + *!!Manifest: + * + *!!!!K\@(#)xneko.c 8.1m%0%i%`$O Public Domain Software $G$9!#E>:\!&2~NI$O + *!!<+M3$K9T$C$F2<$5$$!# + * + *!!!!$J$*!"86:n<T$O!"K\@(#)xneko.c 8.1m%0%i%`$r;HMQ$9$k$3$H$K$h$C$F@8$8$? + *!!>c32$dITMx1W$K$D$$$F$$$C$5$$@UG$$r;}$A$^$;$s!# + * + *-------------------------------------------------------------- + * + *!!Bugs: + * + *!!!!!J#1!KX11 $N .Xdefaults $N@_Dj$r$^$k$C$-$jL5;k$7$F$$$^$9!# + * + *!!!!!J#2!KG-$NF0:n$,;~4V$HF14|$7$F$$$k$?$a!"%^%&%9$N0\F0>pJs + *!!!!!!!!$r%]!<%j%s%0$7$F$$$^$9!#=>$C$F!"%^%&%9$,A4$/F0:n$7$F + *!!!!!!!!$$$J$$;~$OL5BL$J%^%&%9:BI8FI$_<h$j$r9T$C$F$7$^$$$^$9!# + * + *!!!!!J#3!K%&%#%s8.1&$,%"%$%3%s2=$5$l$F$b!"$7$i$s$W$j$GIA2h$7 + *!!!!!!!!$D$E$1$^$9!#$3$NItJ,$O!"8=:_$N%&%#%s8.1&$N>uBV$r@(#) xneko.c 8.1@(#)' + *!!!!!!!!70/$7$F!"%"%$%3%s2=$5$l$F$$$k;~$O40A4$K%$s%HBT$A + *!!!!!!!!$K$J$k$h$&$K=q$-JQ$($J$1$l$P$J$j$^$;$s!# ($=$s$J$3$H!" + *!!!!!!!!$G$-$k$N$+$J$!!#X10 $G$O$G$-$^$7$?$,!#) + * + *!!!!!J#4!K%j%5%$%:8e$N%&%#%s8.1&$,6KC<$K>.$5$/$J$C$?;~$NF0:n + *!!!!!!!!$OJ]>Z$G$-$^$;$s!# + * + *!!!!!J#5!KK\Mh$J$i$P3NJ]$7$?%&%#%s8.1&$d Pixmap $O@(#)xneko.c 8.1m%0%i%` + *!!!!!!!!=*N;;~$K2rJ|$9$kI,MW$,$"$j$^$9$,!"K\@(#)xneko.c 8.1m%0%i%`$O$=$N + *!!!!!!!!$X$s$r%5%\$C$F$*$j!"Hs>o$K$*9T57$,0-$/$J$C$F$$$^$9!# + *!!!!!!!!IaDL$O exit() ;~$K%7%9SCCS/s.xneko.c`$,M>J,$J%j%=!<%9$r2rJ|$7$F + *!!!!!!!!$/$l$^$9$,!"#O#S$K/usr/src/games/xneko/SCCS/s.xneko.c0$,$"$k>l9g$O xneko $r2?EY$b5/ + *!!!!!!!!F0$9$k$H!"$=$N$&$A%9%o82WNN0h$,ITB-$7$F$7$^$&$3$H$K + *!!!!!!!!$J$k$+$b$7$l$^$;$s!# + * + *!!!!!J#6!K;~4V$KF14|$7$FI,$:IA2h=hM}$r<B9T$9$k$?$a!"0BDj>uBV + *!!!!!!!!$G$b Idle 90 !A 95% $H$J$j!"%7%9SCCS/s.xneko.c`#C#P#U$r 5 !A 10% + *!!!!!!!!Dx>CHq$7$^$9!#!Jxtachos $GD4$Y$^$7$?!#!K + * + *-------------------------------------------------------------- + * + *!!System (Machine): + * + *!!!!K\@(#)xneko.c 8.1m%0%i%`$NF0:n$r3NG'$7$?%7%9SCCS/s.xneko.c`9=@.$O0J2<$NDL$j!# + * + * !&NWS-1750!"NWS-1720 (NEWS)!"NWP-512D + * !!NEWS-OS 3.2a (UNIX 4.3BSD)!"X11 Release 2 + * + * !&NWS-1750!"NWS-1720 (NEWS)!"NWP-512D + * !!NEWS-OS 3.3 (UNIX 4.3BSD)!"X11 Release 3 + * + * !&Sun 3!"X11 Release 4 + * + * !&LUNA!"X11 Release 3 + * + * !&DECstation 3100!"ULTRIX!"X11 + * + *--------------------------------------------------------------*/ + + +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/keysym.h> + +#include <stdio.h> + +#include <signal.h> +#include <math.h> +#include <sys/time.h> + + +#ifndef lint +static char + rcsid[] = "$Header: /afs/athena.mit.edu/user/j/jik/sipbsrc/src/xneko/RCS/xneko.c,v 1.2 90/09/01 23:40:01 jik Exp $"; +static char WriterMessage[] = "xneko: Programmed by Masayuki Koba, 1990"; +#endif + + +/* + * X11 G- 0C5/31/93^129W18:45:36!%$%k0lMw!' + * + * "icon.xbm" !D!!%"%$%3%s + * "cursor.xbm" !D!!%+!<%=%k + * "cursor_mask.xbm" !D!!%+!<%=%k!J%^%9%/!K + * + * "space.xbm" !D!!%9%Z!<%9 + * + * "mati2.xbm" !D!!BT$A#2 + * "jare2.xbm" !D!!$8$c$l#2 + * "kaki1.xbm" !D!!A_$-#1 + * "kaki2.xbm" !D!!A_$-#2 + * "mati3.xbm" !D!!BT$A#3!J$"$/$S!K + * "sleep1.xbm" !D!!?2$k#1 + * "sleep2.xbm" !D!!?2$k#2 + * + * "awake.xbm" !D!!L\3P$a + * + * "up1.xbm" !D!!>e#1 + * "up2.xbm" !D!!>e#2 + * "down1.xbm" !D!!2<#1 + * "down2.xbm" !D!!2<#2 + * "left1.xbm" !D!!:8#1 + * "left2.xbm" !D!!:8#2 + * "right1.xbm" !D!!1 + * "right2.xbm" !D!!1 + * "upleft1.xbm" !D!!:8>e#1 + * "upleft2.xbm" !D!!:8>e#2 + * "upright1.xbm" !D!!1&>e#1 + * "upright2.xbm" !D!!1&>e#2 + * "dwleft1.xbm" !D!!:82<#1 + * "dwleft2.xbm" !D!!:82<#2 + * "dwright1.xbm" !D!!1&2<#1 + * "dwright2.xbm" !D!!1&2<#2 + * + * "utogi1.xbm" !D!!>eKa$.#1 + * "utogi2.xbm" !D!!>eKa$.#2 + * "dtogi1.xbm" !D!!2<Ka$.#1 + * "dtogi2.xbm" !D!!2<Ka$.#2 + * "ltogi1.xbm" !D!!:8Ka$.#1 + * "ltogi2.xbm" !D!!:8Ka$.#2 + * "rtogi1.xbm" !D!!1&Ka$.#1 + * "rtogi2.xbm" !D!!1&Ka$.#2 + * + * !!$3$l$i$N18:45:36!%$%k$O bitmap %3%^%s%I$GJT=82DG=$G$9!# + * + * (bitmap size "* 32x32 ... Macintosh ICON resource size.) + * + */ + + +#include "bitmaps/icon.xbm" +#include "bitmaps/cursor.xbm" +#include "bitmaps/cursor_mask.xbm" + +#include "bitmaps/space.xbm" + +#include "bitmaps/mati2.xbm" +#include "bitmaps/jare2.xbm" +#include "bitmaps/kaki1.xbm" +#include "bitmaps/kaki2.xbm" +#include "bitmaps/mati3.xbm" +#include "bitmaps/sleep1.xbm" +#include "bitmaps/sleep2.xbm" + +#include "bitmaps/awake.xbm" + +#include "bitmaps/up1.xbm" +#include "bitmaps/up2.xbm" +#include "bitmaps/down1.xbm" +#include "bitmaps/down2.xbm" +#include "bitmaps/left1.xbm" +#include "bitmaps/left2.xbm" +#include "bitmaps/right1.xbm" +#include "bitmaps/right2.xbm" +#include "bitmaps/upright1.xbm" +#include "bitmaps/upright2.xbm" +#include "bitmaps/upleft1.xbm" +#include "bitmaps/upleft2.xbm" +#include "bitmaps/dwleft1.xbm" +#include "bitmaps/dwleft2.xbm" +#include "bitmaps/dwright1.xbm" +#include "bitmaps/dwright2.xbm" + +#include "bitmaps/utogi1.xbm" +#include "bitmaps/utogi2.xbm" +#include "bitmaps/dtogi1.xbm" +#include "bitmaps/dtogi2.xbm" +#include "bitmaps/ltogi1.xbm" +#include "bitmaps/ltogi2.xbm" +#include "bitmaps/rtogi1.xbm" +#include "bitmaps/rtogi2.xbm" + + +/* + * Dj?tDj5A + */ + +#define BITMAP_WIDTH 32 /* #1%-%c%i%/%?$NI} (18:45:53/%;%k) */ +#define BITMAP_HEIGHT 32 /* #1%-%c%i%/%?$N9b$5 (18:45:53/%;%k) */ + +#define WINDOW_WIDTH 320 /* %&%#%s8.1&$NI} (18:45:53/%;%k) */ +#define WINDOW_HEIGHT 256 /* %&%#%s8.1&$N9b$5 (18:45:53/%;%k) */ + +#define DEFAULT_BORDER 2 /* %\!<%@!<%5%$%: */ + +#define DEFAULT_WIN_X 1 /* %&%#%s8.1&@8@.#X:BI8 */ +#define DEFAULT_WIN_Y 1 /* %&%#%s8.1&@8@.#Y:BI8 */ + +#define AVAIL_KEYBUF 255 + +#define EVENT_MASK1 ( KeyPressMask | StructureNotifyMask ) + +#define EVENT_MASK2 ( KeyPressMask | \ + ExposureMask | \ + StructureNotifyMask ) + +#define MAX_TICK 9999 /* Odd Only! */ + +#define INTERVAL 125000L /* %$%s%?!</usr/src/games/xneko/SCCS/s.xneko.ck%?%$%` */ + +#define NEKO_SPEED 16 + +#define IDLE_SPACE 6 + +#define NORMAL_STATE 1 +#define DEBUG_LIST 2 +#define DEBUG_MOVE 3 + +/* G-$N>uBVDj?t */ + +#define NEKO_STOP 0 /* N)$A;_$^$C$? */ +#define NEKO_JARE 1 /* 4i$r@v$C$F$$$k */ +#define NEKO_KAKI 2 /* F,$rA_$$$F$$$k */ +#define NEKO_AKUBI 3 /* $"$/$S$r$7$F$$$k */ +#define NEKO_SLEEP 4 /* ?2$F$7$^$C$? */ +#define NEKO_AWAKE 5 /* L\$,3P$a$? */ +#define NEKO_U_MOVE 6 /* >e$K0\F0Cf */ +#define NEKO_D_MOVE 7 /* 2<$K0\F0Cf */ +#define NEKO_L_MOVE 8 /* :8$K0\F0Cf */ +#define NEKO_R_MOVE 9 /* 1&$K0\F0Cf */ +#define NEKO_UL_MOVE 10 /* :8>e$K0\F0Cf */ +#define NEKO_UR_MOVE 11 /* 1&>e$K0\F0Cf */ +#define NEKO_DL_MOVE 12 /* :82<$K0\F0Cf */ +#define NEKO_DR_MOVE 13 /* 1&2<$K0\F0Cf */ +#define NEKO_U_TOGI 14 /* >e$NJI$r0z$CA_$$$F$$$k */ +#define NEKO_D_TOGI 15 /* 2<$NJI$r0z$CA_$$$F$$$k */ +#define NEKO_L_TOGI 16 /* :8$NJI$r0z$CA_$$$F$$$k */ +#define NEKO_R_TOGI 17 /* 1&$NJI$r0z$CA_$$$F$$$k */ + +/* G-$N%"%K%a!<%7%g%s7+$jJV$72s?t */ + +#define NEKO_STOP_TIME 4 +#define NEKO_JARE_TIME 10 +#define NEKO_KAKI_TIME 4 +#define NEKO_AKUBI_TIME 3 +#define NEKO_AWAKE_TIME 3 +#define NEKO_TOGI_TIME 10 + +#define PI_PER8 ((double)3.1415926535/(double)8) + +#define DIRNAMELEN 255 + + +/* + * %0%m!</usr/src/games/xneko/SCCS/s.xneko.ckJQ?t + */ + +static char *ProgramName; /* %3%^%s%IL>>N */ + +Display *theDisplay; +int theScreen; +unsigned int theDepth; +unsigned long theBlackPixel; +unsigned long theWhitePixel; +Window theWindow; +Cursor theCursor; + +static unsigned int WindowWidth; +static unsigned int WindowHeight; + +static int WindowPointX; +static int WindowPointY; + +static unsigned int BorderWidth = DEFAULT_BORDER; + +long IntervalTime = INTERVAL; + +int EventState; /* %$s%H=hM}MQ >uBVJQ?t */ + +int NekoTickCount; /* G-F0:n%+%&%s%? */ +int NekoStateCount; /* G-F10l>uBV%+%&%s%? */ +int NekoState; /* G-$N>uBV */ + +int MouseX; /* %^%&%9#X:BI8 */ +int MouseY; /* %^%&%9#Y:BI8 */ + +int PrevMouseX = 0; /* D>A0$N%^%&%9#X:BI8 */ +int PrevMouseY = 0; /* D>A0$N%^%&%9#Y:BI8 */ + +int NekoX; /* G-#X:BI8 */ +int NekoY; /* G-#Y:BI8 */ + +int NekoMoveDx; /* G-0\F05wN%#X */ +int NekoMoveDy; /* G-0\F05wN%#Y */ + +int NekoLastX; /* G-:G=*IA2h#X:BI8 */ +int NekoLastY; /* G-:G=*IA2h#Y:BI8 */ +GC NekoLastGC; /* G-:G=*IA2h GC */ + +double NekoSpeed = (double)NEKO_SPEED; + +double SinPiPer8Times3; /* sin( #3&P!?#8 ) */ +double SinPiPer8; /* sin( &P!?#8 ) */ + +Pixmap SpaceXbm; + +Pixmap Mati2Xbm; +Pixmap Jare2Xbm; +Pixmap Kaki1Xbm; +Pixmap Kaki2Xbm; +Pixmap Mati3Xbm; +Pixmap Sleep1Xbm; +Pixmap Sleep2Xbm; + +Pixmap AwakeXbm; + +Pixmap Up1Xbm; +Pixmap Up2Xbm; +Pixmap Down1Xbm; +Pixmap Down2Xbm; +Pixmap Left1Xbm; +Pixmap Left2Xbm; +Pixmap Right1Xbm; +Pixmap Right2Xbm; +Pixmap UpLeft1Xbm; +Pixmap UpLeft2Xbm; +Pixmap UpRight1Xbm; +Pixmap UpRight2Xbm; +Pixmap DownLeft1Xbm; +Pixmap DownLeft2Xbm; +Pixmap DownRight1Xbm; +Pixmap DownRight2Xbm; + +Pixmap UpTogi1Xbm; +Pixmap UpTogi2Xbm; +Pixmap DownTogi1Xbm; +Pixmap DownTogi2Xbm; +Pixmap LeftTogi1Xbm; +Pixmap LeftTogi2Xbm; +Pixmap RightTogi1Xbm; +Pixmap RightTogi2Xbm; + +GC SpaceGC; + +GC Mati2GC; +GC Jare2GC; +GC Kaki1GC; +GC Kaki2GC; +GC Mati3GC; +GC Sleep1GC; +GC Sleep2GC; + +GC AwakeGC; + +GC Up1GC; +GC Up2GC; +GC Down1GC; +GC Down2GC; +GC Left1GC; +GC Left2GC; +GC Right1GC; +GC Right2GC; +GC UpLeft1GC; +GC UpLeft2GC; +GC UpRight1GC; +GC UpRight2GC; +GC DownLeft1GC; +GC DownLeft2GC; +GC DownRight1GC; +GC DownRight2GC; + +GC UpTogi1GC; +GC UpTogi2GC; +GC DownTogi1GC; +GC DownTogi2GC; +GC LeftTogi1GC; +GC LeftTogi2GC; +GC RightTogi1GC; +GC RightTogi2GC; + +typedef struct { + GC *GCCreatePtr; + Pixmap *BitmapCreatePtr; + char *PixelPattern; + unsigned int PixelWidth; + unsigned int PixelHeight; +} BitmapGCData; + +BitmapGCData BitmapGCDataTable[] = +{ + { &SpaceGC, &SpaceXbm, space_bits, space_width, space_height }, + { &Mati2GC, &Mati2Xbm, mati2_bits, mati2_width, mati2_height }, + { &Jare2GC, &Jare2Xbm, jare2_bits, jare2_width, jare2_height }, + { &Kaki1GC, &Kaki1Xbm, kaki1_bits, kaki1_width, kaki1_height }, + { &Kaki2GC, &Kaki2Xbm, kaki2_bits, kaki2_width, kaki2_height }, + { &Mati3GC, &Mati3Xbm, mati3_bits, mati3_width, mati3_height }, + { &Sleep1GC, &Sleep1Xbm, sleep1_bits, sleep1_width, sleep1_height }, + { &Sleep2GC, &Sleep2Xbm, sleep2_bits, sleep2_width, sleep2_height }, + { &AwakeGC, &AwakeXbm, awake_bits, awake_width, awake_height }, + { &Up1GC, &Up1Xbm, up1_bits, up1_width, up1_height }, + { &Up2GC, &Up2Xbm, up2_bits, up2_width, up2_height }, + { &Down1GC, &Down1Xbm, down1_bits, down1_width, down1_height }, + { &Down2GC, &Down2Xbm, down2_bits, down2_width, down2_height }, + { &Left1GC, &Left1Xbm, left1_bits, left1_width, left1_height }, + { &Left2GC, &Left2Xbm, left2_bits, left2_width, left2_height }, + { &Right1GC, &Right1Xbm, right1_bits, right1_width, right1_height }, + { &Right2GC, &Right2Xbm, right2_bits, right2_width, right2_height }, + { &UpLeft1GC, &UpLeft1Xbm, upleft1_bits, upleft1_width, upleft1_height }, + { &UpLeft2GC, &UpLeft2Xbm, upleft2_bits, upleft2_width, upleft2_height }, + { &UpRight1GC, + &UpRight1Xbm, upright1_bits, upright1_width, upright1_height }, + { &UpRight2GC, + &UpRight2Xbm, upright2_bits, upright2_width, upright2_height }, + { &DownLeft1GC, + &DownLeft1Xbm, dwleft1_bits, dwleft1_width, dwleft1_height }, + { &DownLeft2GC, + &DownLeft2Xbm, dwleft2_bits, dwleft2_width, dwleft2_height }, + { &DownRight1GC, + &DownRight1Xbm, dwright1_bits, dwright1_width, dwright1_height }, + { &DownRight2GC, + &DownRight2Xbm, dwright2_bits, dwright2_width, dwright2_height }, + { &UpTogi1GC, &UpTogi1Xbm, utogi1_bits, utogi1_width, utogi1_height }, + { &UpTogi2GC, &UpTogi2Xbm, utogi2_bits, utogi2_width, utogi2_height }, + { &DownTogi1GC, &DownTogi1Xbm, dtogi1_bits, dtogi1_width, dtogi1_height }, + { &DownTogi2GC, &DownTogi2Xbm, dtogi2_bits, dtogi2_width, dtogi2_height }, + { &LeftTogi1GC, &LeftTogi1Xbm, ltogi1_bits, ltogi1_width, ltogi1_height }, + { &LeftTogi2GC, &LeftTogi2Xbm, ltogi2_bits, ltogi2_width, ltogi2_height }, + { &RightTogi1GC, + &RightTogi1Xbm, rtogi1_bits, rtogi1_width, rtogi1_height }, + { &RightTogi2GC, + &RightTogi2Xbm, rtogi2_bits, rtogi2_width, rtogi2_height }, + { NULL, NULL, NULL, NULL, NULL } +}; + +typedef struct { + GC *TickEvenGCPtr; + GC *TickOddGCPtr; +} Animation; + +Animation AnimationPattern[] = +{ + { &Mati2GC, &Mati2GC }, /* NekoState == NEKO_STOP */ + { &Jare2GC, &Mati2GC }, /* NekoState == NEKO_JARE */ + { &Kaki1GC, &Kaki2GC }, /* NekoState == NEKO_KAKI */ + { &Mati3GC, &Mati3GC }, /* NekoState == NEKO_AKUBI */ + { &Sleep1GC, &Sleep2GC }, /* NekoState == NEKO_SLEEP */ + { &AwakeGC, &AwakeGC }, /* NekoState == NEKO_AWAKE */ + { &Up1GC, &Up2GC } , /* NekoState == NEKO_U_MOVE */ + { &Down1GC, &Down2GC }, /* NekoState == NEKO_D_MOVE */ + { &Left1GC, &Left2GC }, /* NekoState == NEKO_L_MOVE */ + { &Right1GC, &Right2GC }, /* NekoState == NEKO_R_MOVE */ + { &UpLeft1GC, &UpLeft2GC }, /* NekoState == NEKO_UL_MOVE */ + { &UpRight1GC, &UpRight2GC }, /* NekoState == NEKO_UR_MOVE */ + { &DownLeft1GC, &DownLeft2GC }, /* NekoState == NEKO_DL_MOVE */ + { &DownRight1GC, &DownRight2GC }, /* NekoState == NEKO_DR_MOVE */ + { &UpTogi1GC, &UpTogi2GC }, /* NekoState == NEKO_U_TOGI */ + { &DownTogi1GC, &DownTogi2GC }, /* NekoState == NEKO_D_TOGI */ + { &LeftTogi1GC, &LeftTogi2GC }, /* NekoState == NEKO_L_TOGI */ + { &RightTogi1GC, &RightTogi2GC }, /* NekoState == NEKO_R_TOGI */ +}; + + +/*-------------------------------------------------------------- + * + * 0C5/31/93^504W%G!<%?!&GC =i4|2= + * + *--------------------------------------------------------------*/ + +void +InitBitmapAndGCs() +{ + BitmapGCData *BitmapGCDataTablePtr; + XGCValues theGCValues; + + theGCValues.function = GXcopy; + theGCValues.foreground = BlackPixel( theDisplay, theScreen ); + theGCValues.background = WhitePixel( theDisplay, theScreen ); + theGCValues.fill_style = FillTiled; + + for ( BitmapGCDataTablePtr = BitmapGCDataTable; + BitmapGCDataTablePtr->GCCreatePtr != NULL; + BitmapGCDataTablePtr++ ) { + + *(BitmapGCDataTablePtr->BitmapCreatePtr) + = XCreatePixmapFromBitmapData( + theDisplay, + RootWindow( theDisplay, theScreen ), + BitmapGCDataTablePtr->PixelPattern, + BitmapGCDataTablePtr->PixelWidth, + BitmapGCDataTablePtr->PixelHeight, + BlackPixel( theDisplay, theScreen ), + WhitePixel( theDisplay, theScreen ), + DefaultDepth( theDisplay, theScreen ) ); + + theGCValues.tile = *(BitmapGCDataTablePtr->BitmapCreatePtr); + + *(BitmapGCDataTablePtr->GCCreatePtr) + = XCreateGC( theDisplay, theWindow, + GCFunction | GCForeground | GCBackground | + GCTile | GCFillStyle, + &theGCValues ); + } + + XFlush( theDisplay ); +} + + +/*-------------------------------------------------------------- + * + * %9%/%j!<%s4D6-=i4|2= + * + *--------------------------------------------------------------*/ + +void +InitScreen( DisplayName, theGeometry, TitleName, iconicState ) + char *DisplayName; + char *theGeometry; + char *TitleName; + Bool iconicState; +{ + int GeometryStatus; + XSetWindowAttributes theWindowAttributes; + XSizeHints theSizeHints; + unsigned long theWindowMask; + Pixmap theIconPixmap; + Pixmap theCursorSource; + Pixmap theCursorMask; + XWMHints theWMHints; + Window theRoot; + Colormap theColormap; + XColor theWhiteColor, theBlackColor, theExactColor; + + if ( ( theDisplay = XOpenDisplay( DisplayName ) ) == NULL ) { + fprintf( stderr, "%s: Can't open display", ProgramName ); + if ( DisplayName != NULL ) { + fprintf( stderr, " %s.\n", DisplayName ); + } else { + fprintf( stderr, ".\n" ); + } + exit( 1 ); + } + + theScreen = DefaultScreen( theDisplay ); + theDepth = DefaultDepth( theDisplay, theScreen ); + + theBlackPixel = BlackPixel( theDisplay, theScreen ); + theWhitePixel = WhitePixel( theDisplay, theScreen ); + + GeometryStatus = XParseGeometry( theGeometry, + &WindowPointX, &WindowPointY, + &WindowWidth, &WindowHeight ); + + if ( !( GeometryStatus & XValue ) ) { + WindowPointX = DEFAULT_WIN_X; + } + if ( !( GeometryStatus & YValue ) ) { + WindowPointY = DEFAULT_WIN_Y; + } + if ( !( GeometryStatus & WidthValue ) ) { + WindowWidth = WINDOW_WIDTH; + } + if ( !( GeometryStatus & HeightValue ) ) { + WindowHeight = WINDOW_HEIGHT; + } + + theCursorSource + = XCreateBitmapFromData( theDisplay, + RootWindow( theDisplay, theScreen ), + cursor_bits, + cursor_width, + cursor_height ); + + theCursorMask + = XCreateBitmapFromData( theDisplay, + RootWindow( theDisplay, theScreen ), + cursor_mask_bits, + cursor_mask_width, + cursor_mask_height ); + + theColormap = DefaultColormap( theDisplay, theScreen ); + + if ( !XAllocNamedColor( theDisplay, theColormap, + "white", &theWhiteColor, &theExactColor ) ) { + fprintf( stderr, + "%s: Can't XAllocNamedColor( \"white\" ).\n", ProgramName ); + exit( 1 ); + } + + if ( !XAllocNamedColor( theDisplay, theColormap, + "black", &theBlackColor, &theExactColor ) ) { + fprintf( stderr, + "%s: Can't XAllocNamedColor( \"black\" ).\n", ProgramName ); + exit( 1 ); + } + + theCursor = XCreatePixmapCursor( theDisplay, + theCursorSource, theCursorMask, + &theBlackColor, &theWhiteColor, + cursor_x_hot, cursor_y_hot ); + + theWindowAttributes.border_pixel = theBlackPixel; + theWindowAttributes.background_pixel = theWhitePixel; + theWindowAttributes.cursor = theCursor; + theWindowAttributes.override_redirect = False; + + theWindowMask = CWBackPixel | + CWBorderPixel | + CWCursor | + CWOverrideRedirect; + + theWindow = XCreateWindow( theDisplay, + RootWindow( theDisplay, theScreen ), + WindowPointX, WindowPointY, + WindowWidth, WindowHeight, + BorderWidth, + theDepth, + InputOutput, + CopyFromParent, + theWindowMask, + &theWindowAttributes ); + + theIconPixmap = XCreateBitmapFromData( theDisplay, theWindow, + icon_bits, + icon_width, + icon_height ); + + theWMHints.icon_pixmap = theIconPixmap; + if ( iconicState ) { + theWMHints.initial_state = IconicState; + } else { + theWMHints.initial_state = NormalState; + } + theWMHints.flags = IconPixmapHint | StateHint; + + XSetWMHints( theDisplay, theWindow, &theWMHints ); + + theSizeHints.flags = PPosition | PSize; + theSizeHints.x = WindowPointX; + theSizeHints.y = WindowPointY; + theSizeHints.width = WindowWidth; + theSizeHints.height = WindowHeight; + + XSetNormalHints( theDisplay, theWindow, &theSizeHints ); + + if ( strlen( TitleName ) >= 1 ) { + XStoreName( theDisplay, theWindow, TitleName ); + XSetIconName( theDisplay, theWindow, TitleName ); + } else { + XStoreName( theDisplay, theWindow, ProgramName ); + XSetIconName( theDisplay, theWindow, ProgramName ); + } + + XMapWindow( theDisplay, theWindow ); + + XFlush( theDisplay ); + + XGetGeometry( theDisplay, theWindow, + &theRoot, + &WindowPointX, &WindowPointY, + &WindowWidth, &WindowHeight, + &BorderWidth, &theDepth ); + + InitBitmapAndGCs(); + + XSelectInput( theDisplay, theWindow, EVENT_MASK1 ); + + XFlush( theDisplay ); +} + + +/*-------------------------------------------------------------- + * + * %$%s%?!</usr/src/games/xneko/SCCS/s.xneko.ck + * + * !!$3$N4X?t$r8F$V$H!"$"$k0lDj$N;~4VJV$C$F$3$J$/$J$k!#G- + * $NF0:n%?%$%_%s%0D4@0$KMxMQ$9$k$3$H!# + * + *--------------------------------------------------------------*/ + +void +Interval() +{ + pause(); +} + + +/*-------------------------------------------------------------- + * + * SCCS/s.xneko.c#728/%+%&%s%H=hM} + * + *--------------------------------------------------------------*/ + +void +TickCount() +{ + if ( ++NekoTickCount >= MAX_TICK ) { + NekoTickCount = 0; + } + + if ( NekoTickCount % 2 == 0 ) { + if ( NekoStateCount < MAX_TICK ) { + NekoStateCount++; + } + } +} + + +/*-------------------------------------------------------------- + * + * G->uBV@_Dj + * + *--------------------------------------------------------------*/ + +void +SetNekoState( SetValue ) + int SetValue; +{ + NekoTickCount = 0; + NekoStateCount = 0; + + NekoState = SetValue; + +#ifdef DEBUG + switch ( NekoState ) { + case NEKO_STOP: + case NEKO_JARE: + case NEKO_KAKI: + case NEKO_AKUBI: + case NEKO_SLEEP: + case NEKO_U_TOGI: + case NEKO_D_TOGI: + case NEKO_L_TOGI: + case NEKO_R_TOGI: + NekoMoveDx = NekoMoveDy = 0; + break; + default: + break; + } +#endif +} + + +/*-------------------------------------------------------------- + * + * G-IA2h=hM} + * + *--------------------------------------------------------------*/ + +void +DrawNeko( x, y, DrawGC ) + int x; + int y; + GC DrawGC; +{ + if ( ( x != NekoLastX || y != NekoLastY ) + && ( EventState != DEBUG_LIST ) ) { + XFillRectangle( theDisplay, theWindow, SpaceGC, + NekoLastX, NekoLastY, + BITMAP_WIDTH, BITMAP_HEIGHT ); + } + + XSetTSOrigin( theDisplay, DrawGC, x, y ); + + XFillRectangle( theDisplay, theWindow, DrawGC, + x, y, BITMAP_WIDTH, BITMAP_HEIGHT ); + + XFlush( theDisplay ); + + NekoLastX = x; + NekoLastY = y; + + NekoLastGC = DrawGC; +} + + +/*-------------------------------------------------------------- + * + * G-:FIA2h=hM} + * + *--------------------------------------------------------------*/ + +void +RedrawNeko() +{ + XFillRectangle( theDisplay, theWindow, NekoLastGC, + NekoLastX, NekoLastY, + BITMAP_WIDTH, BITMAP_HEIGHT ); + + XFlush( theDisplay ); +} + + +/*-------------------------------------------------------------- + * + * G-0\F0J}K!7hDj + * + *--------------------------------------------------------------*/ + +void +NekoDirection() +{ + int NewState; + double LargeX, LargeY; + double Length; + double SinTheta; + + if ( NekoMoveDx == 0 && NekoMoveDy == 0 ) { + NewState = NEKO_STOP; + } else { + LargeX = (double)NekoMoveDx; + LargeY = (double)(-NekoMoveDy); + Length = sqrt( LargeX * LargeX + LargeY * LargeY ); + SinTheta = LargeY / Length; + + if ( NekoMoveDx > 0 ) { + if ( SinTheta > SinPiPer8Times3 ) { + NewState = NEKO_U_MOVE; + } else if ( ( SinTheta <= SinPiPer8Times3 ) + && ( SinTheta > SinPiPer8 ) ) { + NewState = NEKO_UR_MOVE; + } else if ( ( SinTheta <= SinPiPer8 ) + && ( SinTheta > -( SinPiPer8 ) ) ) { + NewState = NEKO_R_MOVE; + } else if ( ( SinTheta <= -( SinPiPer8 ) ) + && ( SinTheta > -( SinPiPer8Times3 ) ) ) { + NewState = NEKO_DR_MOVE; + } else { + NewState = NEKO_D_MOVE; + } + } else { + if ( SinTheta > SinPiPer8Times3 ) { + NewState = NEKO_U_MOVE; + } else if ( ( SinTheta <= SinPiPer8Times3 ) + && ( SinTheta > SinPiPer8 ) ) { + NewState = NEKO_UL_MOVE; + } else if ( ( SinTheta <= SinPiPer8 ) + && ( SinTheta > -( SinPiPer8 ) ) ) { + NewState = NEKO_L_MOVE; + } else if ( ( SinTheta <= -( SinPiPer8 ) ) + && ( SinTheta > -( SinPiPer8Times3 ) ) ) { + NewState = NEKO_DL_MOVE; + } else { + NewState = NEKO_D_MOVE; + } + } + } + + if ( NekoState != NewState ) { + SetNekoState( NewState ); + } +} + + +/*-------------------------------------------------------------- + * + * G-JI$V$D$+$jH=Dj + * + *--------------------------------------------------------------*/ + +Bool +IsWindowOver() +{ + Bool ReturnValue = False; + + if ( NekoY <= 0 ) { + NekoY = 0; + ReturnValue = True; + } else if ( NekoY >= WindowHeight - BITMAP_HEIGHT ) { + NekoY = WindowHeight - BITMAP_HEIGHT; + ReturnValue = True; + } + if ( NekoX <= 0 ) { + NekoX = 0; + ReturnValue = True; + } else if ( NekoX >= WindowWidth - BITMAP_WIDTH ) { + NekoX = WindowWidth - BITMAP_WIDTH; + ReturnValue = True; + } + + return( ReturnValue ); +} + + +/*-------------------------------------------------------------- + * + * G-0\F0>u67H=Dj + * + *--------------------------------------------------------------*/ + +Bool +IsNekoDontMove() +{ + if ( NekoX == NekoLastX && NekoY == NekoLastY ) { + return( True ); + } else { + return( False ); + } +} + + +/*-------------------------------------------------------------- + * + * G-0\F03+;OH=Dj + * + *--------------------------------------------------------------*/ + +Bool +IsNekoMoveStart() +{ +#ifndef DEBUG + if ( ( PrevMouseX >= MouseX - IDLE_SPACE + && PrevMouseX <= MouseX + IDLE_SPACE ) && + ( PrevMouseY >= MouseY - IDLE_SPACE + && PrevMouseY <= MouseY + IDLE_SPACE ) ) { + return( False ); + } else { + return( True ); + } +#else + if ( NekoMoveDx == 0 && NekoMoveDy == 0 ) { + return( False ); + } else { + return( True ); + } +#endif +} + + +/*-------------------------------------------------------------- + * + * G-0\F0 dx, dy 7W;; + * + *--------------------------------------------------------------*/ + +void +CalcDxDy() +{ + Window QueryRoot, QueryChild; + int AbsoluteX, AbsoluteY; + int RelativeX, RelativeY; + unsigned int ModKeyMask; + double LargeX, LargeY; + double DoubleLength, Length; + + XQueryPointer( theDisplay, theWindow, + &QueryRoot, &QueryChild, + &AbsoluteX, &AbsoluteY, + &RelativeX, &RelativeY, + &ModKeyMask ); + + PrevMouseX = MouseX; + PrevMouseY = MouseY; + + MouseX = RelativeX; + MouseY = RelativeY; + + LargeX = (double)( MouseX - NekoX - BITMAP_WIDTH / 2 ); + LargeY = (double)( MouseY - NekoY - BITMAP_HEIGHT ); + + DoubleLength = LargeX * LargeX + LargeY * LargeY; + + if ( DoubleLength != (double)0 ) { + Length = sqrt( DoubleLength ); + if ( Length <= NekoSpeed ) { + NekoMoveDx = (int)LargeX; + NekoMoveDy = (int)LargeY; + } else { + NekoMoveDx = (int)( ( NekoSpeed * LargeX ) / Length ); + NekoMoveDy = (int)( ( NekoSpeed * LargeY ) / Length ); + } + } else { + NekoMoveDx = NekoMoveDy = 0; + } +} + + +/*-------------------------------------------------------------- + * + * F0:n2r@OG-IA2h=hM} + * + *--------------------------------------------------------------*/ + +void +NekoThinkDraw() +{ +#ifndef DEBUG + CalcDxDy(); +#endif + + if ( NekoState != NEKO_SLEEP ) { + DrawNeko( NekoX, NekoY, + NekoTickCount % 2 == 0 ? + *(AnimationPattern[ NekoState ].TickEvenGCPtr) : + *(AnimationPattern[ NekoState ].TickOddGCPtr) ); + } else { + DrawNeko( NekoX, NekoY, + NekoTickCount % 8 <= 3 ? + *(AnimationPattern[ NekoState ].TickEvenGCPtr) : + *(AnimationPattern[ NekoState ].TickOddGCPtr) ); + } + + TickCount(); + + switch ( NekoState ) { + case NEKO_STOP: + if ( IsNekoMoveStart() ) { + SetNekoState( NEKO_AWAKE ); + break; + } + if ( NekoStateCount < NEKO_STOP_TIME ) { + break; + } + if ( NekoMoveDx < 0 && NekoX <= 0 ) { + SetNekoState( NEKO_L_TOGI ); + } else if ( NekoMoveDx > 0 && NekoX >= WindowWidth - BITMAP_WIDTH ) { + SetNekoState( NEKO_R_TOGI ); + } else if ( NekoMoveDy < 0 && NekoY <= 0 ) { + SetNekoState( NEKO_U_TOGI ); + } else if ( NekoMoveDy > 0 && NekoY >= WindowHeight - BITMAP_HEIGHT ) { + SetNekoState( NEKO_D_TOGI ); + } else { + SetNekoState( NEKO_JARE ); + } + break; + case NEKO_JARE: + if ( IsNekoMoveStart() ) { + SetNekoState( NEKO_AWAKE ); + break; + } + if ( NekoStateCount < NEKO_JARE_TIME ) { + break; + } + SetNekoState( NEKO_KAKI ); + break; + case NEKO_KAKI: + if ( IsNekoMoveStart() ) { + SetNekoState( NEKO_AWAKE ); + break; + } + if ( NekoStateCount < NEKO_KAKI_TIME ) { + break; + } + SetNekoState( NEKO_AKUBI ); + break; + case NEKO_AKUBI: + if ( IsNekoMoveStart() ) { + SetNekoState( NEKO_AWAKE ); + break; + } + if ( NekoStateCount < NEKO_AKUBI_TIME ) { + break; + } + SetNekoState( NEKO_SLEEP ); + break; + case NEKO_SLEEP: + if ( IsNekoMoveStart() ) { + SetNekoState( NEKO_AWAKE ); + break; + } + break; + case NEKO_AWAKE: + if ( NekoStateCount < NEKO_AWAKE_TIME ) { + break; + } + NekoDirection(); /* G-$,F0$/8~$-$r5a$a$k */ + break; + case NEKO_U_MOVE: + case NEKO_D_MOVE: + case NEKO_L_MOVE: + case NEKO_R_MOVE: + case NEKO_UL_MOVE: + case NEKO_UR_MOVE: + case NEKO_DL_MOVE: + case NEKO_DR_MOVE: + NekoX += NekoMoveDx; + NekoY += NekoMoveDy; + NekoDirection(); + if ( IsWindowOver() ) { + if ( IsNekoDontMove() ) { + SetNekoState( NEKO_STOP ); + } + } + break; + case NEKO_U_TOGI: + case NEKO_D_TOGI: + case NEKO_L_TOGI: + case NEKO_R_TOGI: + if ( IsNekoMoveStart() ) { + SetNekoState( NEKO_AWAKE ); + break; + } + if ( NekoStateCount < NEKO_TOGI_TIME ) { + break; + } + SetNekoState( NEKO_KAKI ); + break; + default: + /* Internal Error */ + SetNekoState( NEKO_STOP ); + break; + } + + Interval(); +} + + +#ifdef DEBUG + +/*-------------------------------------------------------------- + * + * %-%c%i%/%?!<0lMwI=<(!J5/31/93P11500MQ!K + * + *--------------------------------------------------------------*/ + +void +DisplayCharacters() +{ + int Index; + int x, y; + + for ( Index = 0, x = 0, y = 0; + BitmapGCDataTable[ Index ].GCCreatePtr != NULL; Index++ ) { + + DrawNeko( x, y, *(BitmapGCDataTable[ Index ].GCCreatePtr) ); + XFlush( theDisplay ); + + x += BITMAP_WIDTH; + + if ( x > WindowWidth - BITMAP_WIDTH ) { + x = 0; + y += BITMAP_HEIGHT; + if ( y > WindowHeight - BITMAP_HEIGHT) { + break; + } + } + } +} + +#endif /* DEBUG */ + + +/*-------------------------------------------------------------- + * + * %-!<%$s%H=hM} + * + *--------------------------------------------------------------*/ + +Bool +ProcessKeyPress( theKeyEvent ) + XKeyEvent *theKeyEvent; +{ + int Length; + int theKeyBufferMaxLen = AVAIL_KEYBUF; + char theKeyBuffer[ AVAIL_KEYBUF + 1 ]; + KeySym theKeySym; + XComposeStatus theComposeStatus; + Bool ReturnState; + + ReturnState = True; + + Length = XLookupString( theKeyEvent, + theKeyBuffer, theKeyBufferMaxLen, + &theKeySym, &theComposeStatus ); + + if ( Length > 0 ) { + switch ( theKeyBuffer[ 0 ] ) { + case 'q': + case 'Q': + if ( theKeyEvent->state & Mod1Mask ) { /* META (Alt) %-!< */ + ReturnState = False; + } + break; + default: + break; + } + } + +#ifdef DEBUG + if ( EventState == DEBUG_MOVE ) { + switch ( theKeySym ) { + case XK_KP_1: + NekoMoveDx = -(int)( NekoSpeed / sqrt( (double)2 ) ); + NekoMoveDy = -NekoMoveDx; + break; + case XK_KP_2: + NekoMoveDx = 0; + NekoMoveDy = (int)NekoSpeed; + break; + case XK_KP_3: + NekoMoveDx = (int)( NekoSpeed / sqrt( (double)2 ) ); + NekoMoveDy = NekoMoveDx; + break; + case XK_KP_4: + NekoMoveDx = -(int)NekoSpeed; + NekoMoveDy = 0; + break; + case XK_KP_5: + NekoMoveDx = 0; + NekoMoveDy = 0; + break; + case XK_KP_6: + NekoMoveDx = (int)NekoSpeed; + NekoMoveDy = 0; + break; + case XK_KP_7: + NekoMoveDx = -(int)( NekoSpeed / sqrt( (double)2 ) ); + NekoMoveDy = NekoMoveDx; + break; + case XK_KP_8: + NekoMoveDx = 0; + NekoMoveDy = -(int)NekoSpeed; + break; + case XK_KP_9: + NekoMoveDx = (int)( NekoSpeed / sqrt( (double)2 ) ); + NekoMoveDy = -NekoMoveDx; + break; + } + } +#endif + + return( ReturnState ); +} + + +/*-------------------------------------------------------------- + * + * G-0LCVD4@0 + * + *--------------------------------------------------------------*/ + +void +NekoAdjust() +{ + if ( NekoX < 0 ) { + NekoX = 0; + } else if ( NekoX > WindowWidth - BITMAP_WIDTH ) { + NekoX = WindowWidth - BITMAP_WIDTH; + } + + if ( NekoY < 0 ) { + NekoY = 0; + } else if ( NekoY > WindowHeight - BITMAP_HEIGHT ) { + NekoY = WindowHeight - BITMAP_HEIGHT; + } +} + + +/*-------------------------------------------------------------- + * + * %$s%H=hM} + * + *--------------------------------------------------------------*/ + +Bool +ProcessEvent() +{ + XEvent theEvent; + Bool ContinueState = True; + + switch ( EventState ) { + case NORMAL_STATE: + while ( XCheckMaskEvent( theDisplay, EVENT_MASK1, &theEvent ) ) { + switch ( theEvent.type ) { + case ConfigureNotify: + WindowWidth = theEvent.xconfigure.width; + WindowHeight = theEvent.xconfigure.height; + WindowPointX = theEvent.xconfigure.x; + WindowPointY = theEvent.xconfigure.y; + BorderWidth = theEvent.xconfigure.border_width; + NekoAdjust(); + break; + case Expose: + if ( theEvent.xexpose.count == 0 ) { + RedrawNeko(); + } + break; + case MapNotify: + RedrawNeko(); + break; + case KeyPress: + ContinueState = ProcessKeyPress( &theEvent.xkey ); + if ( !ContinueState ) { + return( ContinueState ); + } + break; + default: + /* Unknown Event */ + break; + } + } + break; +#ifdef DEBUG + case DEBUG_LIST: + XNextEvent( theDisplay, &theEvent ); + switch ( theEvent.type ) { + case ConfigureNotify: + WindowWidth = theEvent.xconfigure.width; + WindowHeight = theEvent.xconfigure.height; + WindowPointX = theEvent.xconfigure.x; + WindowPointY = theEvent.xconfigure.y; + BorderWidth = theEvent.xconfigure.border_width; + break; + case Expose: + if ( theEvent.xexpose.count == 0 ) { + DisplayCharacters(); + } + break; + case MapNotify: + DisplayCharacters(); + break; + case KeyPress: + ContinueState = ProcessKeyPress( &theEvent ); + break; + default: + /* Unknown Event */ + break; + } + break; + case DEBUG_MOVE: + while ( XCheckMaskEvent( theDisplay, EVENT_MASK1, &theEvent ) ) { + switch ( theEvent.type ) { + case ConfigureNotify: + WindowWidth = theEvent.xconfigure.width; + WindowHeight = theEvent.xconfigure.height; + WindowPointX = theEvent.xconfigure.x; + WindowPointY = theEvent.xconfigure.y; + BorderWidth = theEvent.xconfigure.border_width; + NekoAdjust(); + break; + case Expose: + if ( theEvent.xexpose.count == 0 ) { + RedrawNeko(); + } + break; + case MapNotify: + RedrawNeko(); + break; + case KeyPress: + ContinueState = ProcessKeyPress( &theEvent ); + if ( !ContinueState ) { + return( ContinueState ); + } + break; + default: + /* Unknown Event */ + break; + } + } + break; +#endif + default: + /* Internal Error */ + break; + } + + return( ContinueState ); +} + + +/*-------------------------------------------------------------- + * + * G-=hM} + * + *--------------------------------------------------------------*/ + +void +ProcessNeko() +{ + struct itimerval Value; + + /* 4D6-$N=i4|2= */ + + EventState = NORMAL_STATE; + + /* G-$N=i4|2= */ + + NekoX = ( WindowWidth - BITMAP_WIDTH / 2 ) / 2; + NekoY = ( WindowHeight - BITMAP_HEIGHT / 2 ) / 2; + + NekoLastX = NekoX; + NekoLastY = NekoY; + + SetNekoState( NEKO_STOP ); + + /* %?%$%^!<@_Dj */ + + timerclear( &Value.it_interval ); + timerclear( &Value.it_value ); + + Value.it_interval.tv_usec = IntervalTime; + Value.it_value.tv_usec = IntervalTime; + + setitimer( ITIMER_REAL, &Value, 0 ); + + /* %a%$%s=hM} */ + + do { + NekoThinkDraw(); + } while ( ProcessEvent() ); +} + + +#ifdef DEBUG + +/*-------------------------------------------------------------- + * + * G-0lMw!J5/31/93P14460MQ!K + * + *--------------------------------------------------------------*/ + +void +NekoList() +{ + EventState = DEBUG_LIST; + + fprintf( stderr, "\n" ); + fprintf( stderr, "G-0lMw$rI=<($7$^$9!#(Quit !D Alt-Q)\n" ); + fprintf( stderr, "\n" ); + + XSelectInput( theDisplay, theWindow, EVENT_MASK2 ); + + while ( ProcessEvent() ); +} + + +/*-------------------------------------------------------------- + * + * G-0\F0SCCS/s.xneko.c9%H!J5/31/93P14670MQ!K + * + *--------------------------------------------------------------*/ + +void +NekoMoveTest() +{ + struct itimerval Value; + + /* 4D6-$N=i4|2= */ + + EventState = DEBUG_MOVE; + + /* G-$N=i4|2= */ + + NekoX = ( WindowWidth - BITMAP_WIDTH / 2 ) / 2; + NekoY = ( WindowHeight - BITMAP_HEIGHT / 2 ) / 2; + + NekoLastX = NekoX; + NekoLastY = NekoY; + + SetNekoState( NEKO_STOP ); + + /* %?%$%^!<@_Dj */ + + timerclear( &Value.it_interval ); + timerclear( &Value.it_value ); + + Value.it_interval.tv_usec = IntervalTime; + Value.it_value.tv_usec = IntervalTime; + + setitimer( ITIMER_REAL, &Value, 0 ); + + /* %a%$%s=hM} */ + + fprintf( stderr, "\n" ); + fprintf( stderr, "G-$N0\F0SCCS/s.xneko.c9%H$r9T$$$^$9!#(Quit !D Alt-Q)\n" ); + fprintf( stderr, "\n" ); + fprintf( stderr, "\t%-!<May 31, 1993C%I>e$NSCCS/s.xneko.cs%-!<$GG-$r0\F0$5$;$F2<$5$$!#\n" ); + fprintf( stderr, "\t(M-8z$J%-!<$O#1!A#9$G$9!#)\n" ); + fprintf( stderr, "\n" ); + + do { + NekoThinkDraw(); + } while ( ProcessEvent() ); +} + + +/*-------------------------------------------------------------- + * + * %a%K%e!<=hM}!J5/31/93P15170MQ!K + * + *--------------------------------------------------------------*/ + +void +ProcessDebugMenu() +{ + int UserSelectNo = 0; + char UserAnswer[ BUFSIZ ]; + + fprintf( stderr, "\n" ); + fprintf( stderr, "!Zxneko 5/31/93P15280%a%K%e!<![\n" ); + + while ( !( UserSelectNo >= 1 && UserSelectNo <= 2 ) ) { + fprintf( stderr, "\n" ); + fprintf( stderr, "\t1)!!G-%-%c%i%/%?!<0lMwI=<(\n" ); + fprintf( stderr, "\t2)!!G-0\F0SCCS/s.xneko.c9%H\n" ); + fprintf( stderr, "\n" ); + fprintf( stderr, "Select: " ); + + fgets( UserAnswer, sizeof( UserAnswer ), stdin ); + + UserSelectNo = atoi( UserAnswer ); + + if ( !( UserSelectNo >= 1 && UserSelectNo <= 2 ) ) { + fprintf( stderr, "\n" ); + fprintf( stderr, "@5$7$$HV9f$rA*Br$7$F2<$5$$!#\n" ); + } + } + + switch ( UserSelectNo ) { + case 1: + /* G-%-%c%i%/%?!<0lMwI=<( */ + NekoList(); + break; + case 2: + /* G-0\F0SCCS/s.xneko.c9%H */ + NekoMoveTest(); + break; + default: + /* Internal Error */ + break; + } + + fprintf( stderr, "SCCS/s.xneko.c9%H=*N;!#\n" ); + fprintf( stderr, "\n" ); +} + +#endif /* DEBUG */ + + +/*-------------------------------------------------------------- + * + * SIGALRM %7%0%J%k=hM} + * + *--------------------------------------------------------------*/ + +void +NullFunction() +{ + /* No Operation */ +} + + +/*-------------------------------------------------------------- + * + * Usage + * + *--------------------------------------------------------------*/ + +void +Usage() +{ + fprintf( stderr, + "Usage: %s [-display <display>] [-geometry <geometry>] \\\n", + ProgramName ); + fprintf( stderr, " [-title <title>] [-name <title>] [-iconic] \\\n" ); + fprintf( stderr, " [-speed <speed>] [-time <time>] [-help]\n" ); +} + + +/*-------------------------------------------------------------- + * + * #XMay 31, 1993i%a!<%?I>2A + * + *--------------------------------------------------------------*/ + +Bool +GetArguments( argc, argv, theDisplayName, theGeometry, theTitle, + NekoSpeed, IntervalTime ) + int argc; + char *argv[]; + char *theDisplayName; + char *theGeometry; + char *theTitle; + double *NekoSpeed; + long *IntervalTime; +{ + int ArgCounter; + Bool iconicState; + + theDisplayName[ 0 ] = '\0'; + theGeometry[ 0 ] = '\0'; + theTitle[ 0 ] = '\0'; + + iconicState = False; + + for ( ArgCounter = 0; ArgCounter < argc; ArgCounter++ ) { + + if ( strncmp( argv[ ArgCounter ], "-h", 2 ) == 0 ) { + Usage(); + exit( 0 ); + } else if ( strcmp( argv[ ArgCounter ], "-display" ) == 0 ) { + ArgCounter++; + if ( ArgCounter < argc ) { + strcpy( theDisplayName, argv[ ArgCounter ] ); + } else { + fprintf( stderr, "%s: -display option error.\n", ProgramName ); + exit( 1 ); + } + } else if ( strncmp( argv[ ArgCounter ], "-geom", 5 ) == 0 ) { + ArgCounter++; + if ( ArgCounter < argc ) { + strcpy( theGeometry, argv[ ArgCounter ] ); + } else { + fprintf( stderr, + "%s: -geometry option error.\n", ProgramName ); + exit( 1 ); + } + } else if ( ( strcmp( argv[ ArgCounter ], "-title" ) == 0 ) + || ( strcmp( argv[ ArgCounter ], "-name" ) == 0 ) ) { + ArgCounter++; + if ( ArgCounter < argc ) { + strcpy( theTitle, argv[ ArgCounter ] ); + } else { + fprintf( stderr, "%s: -title option error.\n", ProgramName ); + exit( 1 ); + } + } else if ( strcmp( argv[ ArgCounter ], "-iconic" ) == 0 ) { + iconicState = True; + } else if ( strcmp( argv[ ArgCounter ], "-speed" ) == 0 ) { + ArgCounter++; + if ( ArgCounter < argc ) { + *NekoSpeed = atof( argv[ ArgCounter ] ); + } else { + fprintf( stderr, "%s: -speed option error.\n", ProgramName ); + exit( 1 ); + } + } else if ( strcmp( argv[ ArgCounter ], "-time" ) == 0 ) { + ArgCounter++; + if ( ArgCounter < argc ) { + *IntervalTime = atol( argv[ ArgCounter ] ); + } else { + fprintf( stderr, "%s: -time option error.\n", ProgramName ); + exit( 1 ); + } + } else { + fprintf( stderr, + "%s: Unknown option \"%s\".\n", ProgramName, + argv[ ArgCounter ] ); + Usage(); + exit( 1 ); + } + } + + if ( strlen( theDisplayName ) < 1 ) { + theDisplayName = NULL; + } + + if ( strlen( theGeometry ) < 1 ) { + theGeometry = NULL; + } + + return( iconicState ); +} + + +/*-------------------------------------------------------------- + * + * %a%$%s4X?t + * + *--------------------------------------------------------------*/ + +int +main( argc, argv ) + int argc; + char *argv[]; +{ + Bool iconicState; + char theDisplayName[ DIRNAMELEN ]; + char theGeometry[ DIRNAMELEN ]; + char theTitle[ DIRNAMELEN ]; + + ProgramName = argv[ 0 ]; + + argc--; + argv++; + + iconicState = GetArguments( argc, argv, + theDisplayName, + theGeometry, + theTitle, + &NekoSpeed, + &IntervalTime ); + + InitScreen( theDisplayName, theGeometry, theTitle, iconicState ); + + signal( SIGALRM, NullFunction ); + + SinPiPer8Times3 = sin( PI_PER8 * (double)3 ); + SinPiPer8 = sin( PI_PER8 ); + +#ifndef DEBUG + ProcessNeko(); +#else + ProcessDebugMenu(); +#endif + + exit( 0 ); +} diff --git a/games/x11/xroach/Makefile b/games/x11/xroach/Makefile new file mode 100644 index 0000000..dc762c8 --- /dev/null +++ b/games/x11/xroach/Makefile @@ -0,0 +1,10 @@ +# @(#)Makefile 8.1 (Berkeley) 6/8/93 + +PROG= xroach +MAN6= xroach.6 +CFLAGS+= -I${.CURDIR}/bitmaps +DPADD+= ${X11BASE}/lib/libX11.a ${LIBM} +LDDESTDIR+= -L${X11BASE}/lib +LDADD+= -lX11 -lm + +.include <bsd.prog.mk> diff --git a/games/x11/xroach/bitmaps/roach000.xbm b/games/x11/xroach/bitmaps/roach000.xbm new file mode 100644 index 0000000..4b04b05 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach000.xbm @@ -0,0 +1,30 @@ +#define roach000_width 48 +#define roach000_height 48 + +static char roach000_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x06, 0x80, + 0x00, 0x00, 0x03, 0x00, 0x03, 0x60, 0x00, 0x00, 0x7e, 0x80, 0xc1, 0x3f, + 0x00, 0x00, 0xc0, 0x83, 0xe0, 0x0f, 0x00, 0x00, 0x00, 0xc6, 0x30, 0x00, + 0x00, 0x00, 0x00, 0xf8, 0x1f, 0x00, 0x00, 0x00, 0xf0, 0xff, 0xef, 0x01, + 0x00, 0x00, 0xfe, 0xff, 0xe7, 0x11, 0x10, 0xc0, 0xff, 0xff, 0xf7, 0x03, + 0x02, 0xf0, 0xff, 0xff, 0xf3, 0x3f, 0x00, 0xf0, 0xff, 0xff, 0xf3, 0x3b, + 0x00, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x00, 0xe0, 0xff, 0xff, 0xf3, 0x3f, + 0x00, 0xe0, 0xff, 0xff, 0xf3, 0x3f, 0x00, 0xe0, 0xff, 0xff, 0xf3, 0x07, + 0x01, 0xe0, 0xff, 0xff, 0xf7, 0x13, 0x08, 0xc0, 0xff, 0xff, 0xf7, 0x03, + 0x00, 0x00, 0xfe, 0xff, 0xe7, 0x01, 0x00, 0x00, 0x00, 0xff, 0x0f, 0x00, + 0x00, 0x00, 0x00, 0x88, 0x18, 0x00, 0x00, 0x00, 0xf8, 0xc7, 0xf0, 0x03, + 0x00, 0x00, 0xfe, 0x81, 0xc1, 0x3f, 0x00, 0x00, 0x06, 0x00, 0x01, 0x30, + 0x00, 0x00, 0x03, 0x00, 0x02, 0x40, 0x00, 0x80, 0x01, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach015.xbm b/games/x11/xroach/bitmaps/roach015.xbm new file mode 100644 index 0000000..f5ad87e --- /dev/null +++ b/games/x11/xroach/bitmaps/roach015.xbm @@ -0,0 +1,30 @@ +#define roach015_width 48 +#define roach015_height 48 + +static char roach015_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x80, 0x00, 0x0c, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x06, 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x07, + 0x00, 0x00, 0x00, 0x40, 0xf8, 0x01, 0x00, 0x00, 0x00, 0x60, 0x3c, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x0c, 0x00, 0x00, 0x10, 0x00, 0x10, 0x06, 0x00, + 0x00, 0x60, 0xfc, 0x30, 0x72, 0x04, 0x00, 0xc0, 0x9f, 0xe3, 0xf3, 0x1e, + 0x00, 0x00, 0x00, 0xfe, 0xfb, 0x1d, 0x00, 0x00, 0xc0, 0xff, 0xfb, 0x3d, + 0x00, 0x00, 0xf8, 0xff, 0xf9, 0x3f, 0x00, 0x00, 0xfe, 0xff, 0xfb, 0x3f, + 0x3c, 0x00, 0xff, 0xff, 0xfb, 0x07, 0x00, 0xc0, 0xff, 0x1f, 0xf8, 0x17, + 0x00, 0xe0, 0xff, 0xe1, 0xf7, 0x07, 0x00, 0xf0, 0x1f, 0xfe, 0xf7, 0x03, + 0x00, 0xf0, 0xe1, 0xff, 0xe7, 0x03, 0x00, 0x00, 0xfe, 0xff, 0xcf, 0x01, + 0x00, 0xc0, 0xff, 0xff, 0x1f, 0x00, 0x00, 0xe0, 0xff, 0xff, 0x7f, 0xfc, + 0x00, 0xc0, 0xff, 0x3f, 0xc3, 0x1f, 0x01, 0xc0, 0xff, 0x23, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x1e, 0x1c, 0x00, + 0x00, 0x00, 0x80, 0x07, 0x20, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x40, 0x00, + 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach030.xbm b/games/x11/xroach/bitmaps/roach030.xbm new file mode 100644 index 0000000..ec28236 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach030.xbm @@ -0,0 +1,30 @@ +#define roach030_width 48 +#define roach030_height 48 + +static char roach030_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x38, 0x40, 0x00, 0x00, 0x00, 0x10, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x07, 0x00, 0x00, 0x00, 0x00, 0x98, 0x01, 0x09, + 0x00, 0x00, 0x00, 0x8c, 0x01, 0x04, 0x00, 0x00, 0x00, 0x8c, 0xb8, 0x07, + 0x00, 0x00, 0x00, 0x84, 0x7c, 0x0f, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x8e, + 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x1f, 0x00, 0x00, 0xe0, 0xff, 0xfc, 0x05, + 0x00, 0x04, 0x1e, 0xff, 0xfd, 0x17, 0x00, 0xf8, 0x87, 0xff, 0xf9, 0x03, + 0x00, 0xe0, 0xc0, 0xff, 0xf9, 0x07, 0x00, 0x00, 0xf0, 0x7f, 0xf0, 0x07, + 0x00, 0x00, 0xf8, 0x1f, 0xe7, 0x03, 0x00, 0x00, 0xfe, 0xcf, 0xcf, 0xc1, + 0x03, 0x00, 0xff, 0xf3, 0x1f, 0xe0, 0x00, 0x80, 0xff, 0xfc, 0xff, 0x3f, + 0x00, 0x80, 0x3f, 0xfe, 0xbf, 0x07, 0x00, 0xc0, 0x9f, 0xff, 0x07, 0x00, + 0x00, 0xc0, 0xe7, 0xff, 0x0f, 0x00, 0x00, 0xc0, 0xf9, 0xff, 0x3c, 0x00, + 0x00, 0x00, 0xfe, 0xff, 0xf8, 0x01, 0x00, 0x00, 0xff, 0x8f, 0x00, 0x02, + 0x00, 0x00, 0xff, 0x61, 0x00, 0x00, 0x00, 0x00, 0x1f, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach045.xbm b/games/x11/xroach/bitmaps/roach045.xbm new file mode 100644 index 0000000..0ea6e2b --- /dev/null +++ b/games/x11/xroach/bitmaps/roach045.xbm @@ -0,0 +1,30 @@ +#define roach045_width 48 +#define roach045_height 48 + +static char roach045_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x01, + 0x00, 0x00, 0x00, 0xc0, 0xa0, 0x00, 0x00, 0x00, 0x00, 0x62, 0xc0, 0x43, + 0x00, 0x00, 0x00, 0x62, 0xfe, 0x13, 0x00, 0x00, 0x00, 0x23, 0xff, 0x07, + 0x00, 0x00, 0x00, 0x23, 0xff, 0x07, 0x00, 0x00, 0x00, 0x63, 0xff, 0x0b, + 0x00, 0x00, 0x00, 0x73, 0xff, 0x01, 0x00, 0x00, 0x00, 0x7e, 0xfe, 0x01, + 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x03, 0x00, 0x00, 0x40, 0xfe, 0xf9, 0x03, + 0x07, 0x00, 0xf0, 0xff, 0xf1, 0xc3, 0x00, 0x00, 0x18, 0xff, 0xc0, 0xe3, + 0x00, 0x00, 0x8e, 0x7f, 0x1e, 0x70, 0x00, 0x00, 0xc7, 0x3f, 0xff, 0x1f, + 0x00, 0xfc, 0xe3, 0x9f, 0x7f, 0x07, 0x00, 0xe0, 0xe1, 0xcf, 0x3f, 0x00, + 0x00, 0x00, 0xf0, 0xe7, 0x3f, 0x00, 0x00, 0x00, 0xf8, 0xf1, 0x1f, 0x00, + 0x00, 0x00, 0xfc, 0xfc, 0xe7, 0x0f, 0x00, 0x00, 0x7e, 0xfe, 0x03, 0x00, + 0x00, 0x00, 0x3e, 0xff, 0x03, 0x00, 0x00, 0x00, 0x9f, 0xff, 0x02, 0x00, + 0x00, 0x00, 0xcf, 0x7f, 0x03, 0x00, 0x00, 0x00, 0xe7, 0x1f, 0x03, 0x00, + 0x00, 0x00, 0xf2, 0x8f, 0x03, 0x00, 0x00, 0x00, 0xf8, 0x83, 0x01, 0x00, + 0x00, 0x00, 0xf8, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00}; + diff --git a/games/x11/xroach/bitmaps/roach060.xbm b/games/x11/xroach/bitmaps/roach060.xbm new file mode 100644 index 0000000..145987a --- /dev/null +++ b/games/x11/xroach/bitmaps/roach060.xbm @@ -0,0 +1,30 @@ +#define roach060_width 48 +#define roach060_height 48 + +static char roach060_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x20, 0x10, + 0x00, 0x00, 0x00, 0x60, 0x00, 0x08, 0x00, 0x00, 0x00, 0x30, 0x74, 0x04, + 0x00, 0x00, 0x00, 0x30, 0xf8, 0x00, 0x00, 0x00, 0x00, 0x18, 0xfc, 0x01, + 0x00, 0x00, 0x00, 0x88, 0xff, 0x00, 0x00, 0x00, 0x40, 0xc8, 0xff, 0x02, + 0x00, 0x00, 0xc0, 0xd8, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0xd8, 0xff, 0x80, + 0x01, 0x00, 0x80, 0x90, 0xff, 0xe1, 0x00, 0x00, 0x80, 0x18, 0xff, 0x61, + 0x00, 0x00, 0x80, 0x3f, 0xfe, 0x33, 0x00, 0x00, 0x00, 0x7f, 0xfc, 0x19, + 0x00, 0x00, 0x00, 0xfe, 0xf1, 0x18, 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x0f, + 0x00, 0x00, 0xc0, 0xff, 0xff, 0x01, 0x00, 0x00, 0xe0, 0x7f, 0x7f, 0x00, + 0x00, 0x00, 0x90, 0xbf, 0x7f, 0x00, 0x00, 0x00, 0x98, 0xbf, 0x3f, 0x38, + 0x00, 0x00, 0xd8, 0xdf, 0x7f, 0x0f, 0x00, 0x00, 0xcc, 0xef, 0xdf, 0x01, + 0x00, 0x00, 0xe6, 0xef, 0x0f, 0x00, 0x00, 0xc0, 0xe3, 0xf7, 0x0f, 0x00, + 0x00, 0x00, 0xe0, 0xf7, 0x1f, 0x00, 0x00, 0x00, 0xf0, 0xfb, 0x1f, 0x00, + 0x00, 0x00, 0xf0, 0xf9, 0x1b, 0x00, 0x00, 0x00, 0xf0, 0xfd, 0x19, 0x00, + 0x00, 0x00, 0xf8, 0xfe, 0x08, 0x00, 0x00, 0x00, 0x78, 0x7e, 0x0c, 0x00, + 0x00, 0x00, 0x70, 0x3f, 0x04, 0x00, 0x00, 0x00, 0x30, 0x3f, 0x06, 0x00, + 0x00, 0x00, 0x80, 0x1f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x07, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00}; + diff --git a/games/x11/xroach/bitmaps/roach075.xbm b/games/x11/xroach/bitmaps/roach075.xbm new file mode 100644 index 0000000..5a85ba4 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach075.xbm @@ -0,0 +1,30 @@ +#define roach075_width 48 +#define roach075_height 48 + +static char roach075_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x02, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x80, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, + 0x00, 0x00, 0x00, 0x84, 0x06, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3e, 0x00, + 0x00, 0x00, 0x00, 0x06, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x06, 0x1e, 0x60, + 0x00, 0x00, 0x00, 0xc6, 0x3f, 0x20, 0x00, 0x00, 0x00, 0xe6, 0x3f, 0x18, + 0x00, 0x00, 0x00, 0xf2, 0x7f, 0x18, 0x00, 0x00, 0x08, 0xf2, 0x7f, 0x18, + 0x00, 0x00, 0x30, 0xf6, 0xff, 0x0c, 0x00, 0x00, 0x20, 0xe4, 0xff, 0x0c, + 0x00, 0x00, 0x60, 0x98, 0xff, 0x0c, 0x00, 0x00, 0x40, 0x38, 0x38, 0x06, + 0x00, 0x00, 0xc0, 0xff, 0xe0, 0x01, 0x00, 0x00, 0x80, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0x7e, 0xfe, 0x78, 0x00, 0x00, 0x00, 0x7e, 0x7f, 0x1c, + 0x00, 0x00, 0x00, 0x7f, 0x7f, 0x0e, 0x00, 0x00, 0xc0, 0x7f, 0xff, 0x03, + 0x00, 0x00, 0xc0, 0x3e, 0x7f, 0x00, 0x00, 0x00, 0x20, 0xbf, 0x3f, 0x00, + 0x00, 0x00, 0x20, 0xbf, 0x3f, 0x00, 0x00, 0x00, 0x20, 0xbf, 0x7f, 0x00, + 0x00, 0x00, 0x10, 0x9f, 0x5f, 0x00, 0x00, 0x00, 0x10, 0xdf, 0x5f, 0x00, + 0x00, 0x00, 0x18, 0xdf, 0x4f, 0x00, 0x00, 0x00, 0x0c, 0xdf, 0x4f, 0x00, + 0x00, 0x00, 0x86, 0xcf, 0x47, 0x00, 0x00, 0x00, 0x80, 0xef, 0x47, 0x00, + 0x00, 0x00, 0x80, 0xef, 0x63, 0x00, 0x00, 0x00, 0x00, 0xef, 0x63, 0x00, + 0x00, 0x00, 0x00, 0xe7, 0x41, 0x00, 0x00, 0x00, 0x00, 0xf7, 0x81, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach090.xbm b/games/x11/xroach/bitmaps/roach090.xbm new file mode 100644 index 0000000..78904ee --- /dev/null +++ b/games/x11/xroach/bitmaps/roach090.xbm @@ -0,0 +1,30 @@ +#define roach090_width 48 +#define roach090_height 48 + +static char roach090_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x04, 0x00, + 0x00, 0x00, 0xc0, 0xc0, 0x03, 0x0c, 0x00, 0x00, 0xc0, 0xd0, 0x07, 0x0c, + 0x00, 0x00, 0xc0, 0xc0, 0x07, 0x04, 0x00, 0x00, 0xc0, 0x60, 0x07, 0x06, + 0x00, 0x00, 0xc0, 0x80, 0x03, 0x06, 0x00, 0x00, 0xc0, 0xf0, 0x3f, 0x06, + 0x00, 0x00, 0x80, 0xf8, 0x7f, 0x06, 0x00, 0x00, 0x80, 0xf9, 0x7f, 0x06, + 0x00, 0x00, 0x80, 0xf9, 0x7f, 0x02, 0x00, 0x00, 0x00, 0xfb, 0x7f, 0x03, + 0x00, 0x00, 0x00, 0xf3, 0x9f, 0x61, 0x00, 0x00, 0x18, 0x1c, 0x70, 0x30, + 0x00, 0x00, 0x30, 0xfc, 0x7e, 0x18, 0x00, 0x00, 0x60, 0xfc, 0x7e, 0x0c, + 0x00, 0x00, 0xc0, 0xfc, 0x7e, 0x06, 0x00, 0x00, 0xc0, 0xff, 0xfe, 0x03, + 0x00, 0x00, 0x00, 0xfc, 0x7e, 0x00, 0x00, 0x00, 0x00, 0xfc, 0x7e, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfe, 0x01, + 0x00, 0x00, 0x00, 0xff, 0x7e, 0x01, 0x00, 0x00, 0x80, 0xfc, 0x7e, 0x03, + 0x00, 0x00, 0x80, 0xfc, 0x7e, 0x02, 0x00, 0x00, 0x80, 0xfc, 0x7e, 0x02, + 0x00, 0x00, 0x80, 0xf8, 0x3e, 0x06, 0x00, 0x00, 0xc0, 0xf8, 0x3e, 0x06, + 0x00, 0x00, 0xc0, 0xf8, 0x3e, 0x06, 0x00, 0x00, 0xc0, 0xf8, 0x3e, 0x04, + 0x00, 0x00, 0xc0, 0xf8, 0x3e, 0x0c, 0x00, 0x00, 0x60, 0xf8, 0x3e, 0x08, + 0x00, 0x00, 0x20, 0xf8, 0x3e, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x1e, 0x00, + 0x00, 0x00, 0x00, 0xf0, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach105.xbm b/games/x11/xroach/bitmaps/roach105.xbm new file mode 100644 index 0000000..a0bcc80 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach105.xbm @@ -0,0 +1,30 @@ +#define roach105_width 48 +#define roach105_height 48 + +static char roach105_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0xfc, 0xc1, 0x00, + 0x00, 0x00, 0x06, 0xf8, 0xc0, 0x00, 0x00, 0x00, 0x1c, 0xfa, 0xc1, 0x00, + 0x00, 0x00, 0x18, 0x88, 0x83, 0x00, 0x00, 0x00, 0x10, 0xe0, 0x9f, 0x00, + 0x00, 0x00, 0x30, 0xf8, 0x9f, 0x00, 0x00, 0x00, 0x20, 0xfc, 0x9f, 0x10, + 0x00, 0x00, 0x60, 0xfe, 0x5f, 0x18, 0x00, 0x00, 0x60, 0xfe, 0x4f, 0x0c, + 0x00, 0x00, 0x60, 0xfc, 0x27, 0x0c, 0x00, 0x00, 0xc0, 0x78, 0x3c, 0x0e, + 0x00, 0x00, 0x80, 0x07, 0x7c, 0x06, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0x03, + 0x00, 0x00, 0x08, 0xfc, 0xfe, 0x00, 0x00, 0x00, 0x78, 0xfc, 0xfd, 0x00, + 0x00, 0x00, 0xe0, 0xfc, 0xfd, 0x00, 0x00, 0x00, 0xc0, 0xff, 0xfd, 0x07, + 0x00, 0x00, 0x00, 0xf8, 0xfd, 0x05, 0x00, 0x00, 0x00, 0xf8, 0xfb, 0x05, + 0x00, 0x00, 0x00, 0xf8, 0xfb, 0x09, 0x00, 0x00, 0x00, 0xfc, 0xfb, 0x19, + 0x00, 0x00, 0x00, 0xfc, 0xf3, 0x19, 0x00, 0x00, 0x00, 0xe4, 0xf7, 0x31, + 0x00, 0x00, 0x00, 0xe4, 0xf7, 0x31, 0x00, 0x00, 0x00, 0xe4, 0xf7, 0xc1, + 0x00, 0x00, 0x00, 0xc4, 0xe7, 0x03, 0x01, 0x00, 0x00, 0xcc, 0xef, 0x03, + 0x00, 0x00, 0x00, 0x8c, 0xef, 0x03, 0x00, 0x00, 0x00, 0x8c, 0xef, 0x01, + 0x00, 0x00, 0x00, 0x0c, 0xcf, 0x01, 0x00, 0x00, 0x00, 0x0c, 0xde, 0x01, + 0x00, 0x00, 0x00, 0x06, 0x1e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach120.xbm b/games/x11/xroach/bitmaps/roach120.xbm new file mode 100644 index 0000000..9087d9d --- /dev/null +++ b/games/x11/xroach/bitmaps/roach120.xbm @@ -0,0 +1,30 @@ +#define roach120_width 48 +#define roach120_height 48 + +static char roach120_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x10, 0x08, 0x18, 0x00, 0x00, 0x00, 0x00, 0x28, 0x18, 0x00, + 0x00, 0x00, 0x00, 0x1e, 0x38, 0x00, 0x00, 0x00, 0x80, 0x3f, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x9f, 0x63, 0x00, 0x00, 0x00, 0x80, 0xe6, 0x67, 0x04, + 0x00, 0x80, 0x00, 0xfa, 0x27, 0x04, 0x00, 0x00, 0x07, 0xfc, 0x2f, 0x06, + 0x00, 0x00, 0x0c, 0xfc, 0x07, 0x06, 0x00, 0x00, 0x18, 0xfe, 0x37, 0x02, + 0x00, 0x00, 0x18, 0xff, 0x3b, 0x02, 0x00, 0x00, 0x30, 0xfe, 0xfc, 0x03, + 0x00, 0x00, 0x60, 0x3e, 0xfc, 0x00, 0x00, 0x00, 0x60, 0xc0, 0xfe, 0x00, + 0x00, 0x00, 0xc0, 0xff, 0xfd, 0x07, 0x00, 0x00, 0x00, 0xfc, 0xfd, 0x0f, + 0x00, 0x00, 0x00, 0xfc, 0xfb, 0x1b, 0x00, 0x00, 0x20, 0xf8, 0xf3, 0x37, + 0x00, 0x00, 0xf0, 0xf9, 0xf7, 0x67, 0x00, 0x00, 0xc0, 0xff, 0xef, 0xc7, + 0x00, 0x00, 0x00, 0xe0, 0xef, 0x8f, 0x01, 0x00, 0x00, 0xe0, 0xdf, 0x0f, + 0x0f, 0x00, 0x00, 0xe0, 0x9f, 0x0f, 0x00, 0x00, 0x00, 0xb0, 0xbf, 0x1f, + 0x00, 0x00, 0x00, 0x20, 0x3f, 0x1f, 0x00, 0x00, 0x00, 0x20, 0x7e, 0x1e, + 0x00, 0x00, 0x00, 0x20, 0xfe, 0x3e, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x3c, + 0x00, 0x00, 0x00, 0x40, 0xf8, 0x3d, 0x00, 0x00, 0x00, 0xc0, 0xf8, 0x19, + 0x00, 0x00, 0x00, 0x80, 0xf1, 0x03, 0x00, 0x00, 0x00, 0x80, 0xc1, 0x03, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00}; + diff --git a/games/x11/xroach/bitmaps/roach135.xbm b/games/x11/xroach/bitmaps/roach135.xbm new file mode 100644 index 0000000..2f330d4 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach135.xbm @@ -0,0 +1,30 @@ +#define roach135_width 48 +#define roach135_height 48 + +static char roach135_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x40, 0xc0, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x06, 0x00, 0x00, 0x00, 0x01, 0x02, 0x0e, 0x00, + 0x00, 0x00, 0x04, 0x03, 0x88, 0x01, 0x00, 0x00, 0xd8, 0xef, 0x88, 0x01, + 0x00, 0x00, 0xc0, 0xff, 0x89, 0x01, 0x00, 0x00, 0x80, 0xfd, 0x8b, 0x01, + 0x00, 0x00, 0xa0, 0xfc, 0x9f, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xff, 0x01, + 0x00, 0x00, 0x00, 0xfe, 0x7d, 0x00, 0x00, 0xc0, 0x01, 0xff, 0xfe, 0x00, + 0x00, 0x00, 0x06, 0x7f, 0xfe, 0x07, 0x00, 0x00, 0x0e, 0x3f, 0xfe, 0x1f, + 0x00, 0x00, 0x3c, 0xcf, 0xfd, 0x27, 0x00, 0x00, 0x70, 0xe0, 0xfb, 0xc7, + 0x00, 0x00, 0xe0, 0xff, 0xf7, 0x8f, 0x7f, 0x00, 0x00, 0xf8, 0xef, 0x1f, + 0x07, 0x00, 0x00, 0xf0, 0xdf, 0x3f, 0x00, 0x00, 0x00, 0xf0, 0xbf, 0x7f, + 0x00, 0x00, 0x80, 0xf7, 0x7f, 0x7e, 0x00, 0x00, 0xe0, 0xdf, 0xff, 0xfc, + 0x00, 0x00, 0x00, 0x80, 0xff, 0xf9, 0x01, 0x00, 0x00, 0x80, 0xfe, 0xf3, + 0x01, 0x00, 0x00, 0x80, 0xfd, 0xe7, 0x01, 0x00, 0x00, 0x00, 0xf1, 0xcf, + 0x01, 0x00, 0x00, 0x00, 0xe3, 0x1f, 0x00, 0x00, 0x00, 0x00, 0x86, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x3f, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00}; + diff --git a/games/x11/xroach/bitmaps/roach150.xbm b/games/x11/xroach/bitmaps/roach150.xbm new file mode 100644 index 0000000..47d9d6f --- /dev/null +++ b/games/x11/xroach/bitmaps/roach150.xbm @@ -0,0 +1,30 @@ +#define roach150_width 48 +#define roach150_height 48 + +static char roach150_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x04, 0x70, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x20, 0x00, 0x00, 0x00, 0x00, 0x80, 0x21, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x63, 0x00, 0x00, 0x00, 0x00, 0x00, 0x62, 0x00, + 0x00, 0x00, 0xc0, 0x7b, 0x42, 0x00, 0x00, 0x00, 0xe0, 0xff, 0x42, 0x00, + 0x00, 0x00, 0xe1, 0xfd, 0x7f, 0x00, 0x00, 0x00, 0xf0, 0xfe, 0x3f, 0x04, + 0x00, 0x00, 0x60, 0xfe, 0xfe, 0x3f, 0x00, 0x00, 0x50, 0xff, 0xfe, 0x61, + 0x70, 0x00, 0x00, 0x7f, 0xfe, 0x87, 0x0f, 0x00, 0x00, 0x7f, 0xff, 0x0f, + 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x3f, 0x00, 0x00, 0x07, 0xdf, 0xf3, 0x7f, + 0x00, 0x80, 0x1f, 0xee, 0xcf, 0xff, 0x00, 0x00, 0x38, 0xf0, 0x3f, 0xff, + 0x01, 0x00, 0xe0, 0xff, 0xff, 0xfc, 0x03, 0x00, 0x00, 0xe0, 0xff, 0xf3, + 0x07, 0x00, 0x00, 0xc0, 0xff, 0xcf, 0x07, 0x00, 0x00, 0xc0, 0xff, 0x3f, + 0x07, 0x00, 0x00, 0x7c, 0xfc, 0xff, 0x00, 0x00, 0x00, 0x3e, 0xfc, 0xff, + 0x01, 0x00, 0x00, 0x00, 0xec, 0xff, 0x03, 0x00, 0x00, 0x00, 0x18, 0xff, + 0x01, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach165.xbm b/games/x11/xroach/bitmaps/roach165.xbm new file mode 100644 index 0000000..2f12876 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach165.xbm @@ -0,0 +1,30 @@ +#define roach165_width 48 +#define roach165_height 48 + +static char roach165_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, + 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x03, 0x06, 0x00, + 0x00, 0x00, 0x80, 0x1f, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x7c, 0x1c, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x18, 0x00, 0x00, 0x80, 0x00, 0xc0, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x10, 0x00, 0x00, 0x00, 0x44, 0xf8, 0x1f, 0x3e, + 0x0e, 0x00, 0x30, 0x7c, 0xff, 0xe0, 0x07, 0x00, 0xe0, 0x7e, 0xff, 0x03, + 0x00, 0x00, 0xf0, 0x7e, 0xff, 0x07, 0x00, 0x00, 0x70, 0xff, 0xff, 0x3f, + 0x00, 0x00, 0x70, 0xff, 0xff, 0xff, 0x00, 0x00, 0x60, 0x7f, 0xff, 0xff, + 0x01, 0x00, 0x50, 0x7f, 0x80, 0xff, 0x0f, 0x00, 0x00, 0x3f, 0x1f, 0xf8, + 0x1f, 0x00, 0x00, 0xbf, 0xff, 0x01, 0x1f, 0x00, 0x00, 0xde, 0xff, 0x1f, + 0x00, 0x00, 0x00, 0xec, 0xff, 0xff, 0x01, 0x00, 0x3e, 0xf0, 0xff, 0xff, + 0x07, 0x00, 0xff, 0x8f, 0xff, 0xff, 0x0f, 0x00, 0x00, 0x07, 0xf9, 0xff, + 0x07, 0x00, 0x00, 0x80, 0x11, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x30, 0x00, + 0x00, 0x00, 0x00, 0x70, 0xc0, 0x01, 0x00, 0x00, 0x00, 0x10, 0x00, 0x1f, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach180.xbm b/games/x11/xroach/bitmaps/roach180.xbm new file mode 100644 index 0000000..e3811dc --- /dev/null +++ b/games/x11/xroach/bitmaps/roach180.xbm @@ -0,0 +1,30 @@ +#define roach180_width 48 +#define roach180_height 48 + +static char roach180_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, + 0x02, 0x00, 0x08, 0x80, 0x01, 0x00, 0x01, 0x00, 0xf8, 0x81, 0x03, 0x80, + 0x01, 0x00, 0xe0, 0x0f, 0x06, 0xfe, 0x00, 0x00, 0x00, 0x10, 0x84, 0x07, + 0x00, 0x00, 0x00, 0x20, 0x84, 0x01, 0x00, 0x00, 0x00, 0xc0, 0xff, 0x03, + 0x00, 0x00, 0x00, 0x8c, 0xff, 0xff, 0x01, 0x00, 0x00, 0x9c, 0xff, 0xff, + 0x07, 0x00, 0x20, 0xbe, 0xff, 0xff, 0x0f, 0x00, 0xe0, 0x7f, 0xff, 0xff, + 0x1f, 0x00, 0xf0, 0x7f, 0xff, 0xff, 0x0f, 0x00, 0x70, 0x7f, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x7f, 0xff, 0xff, 0x0f, 0x00, 0x70, 0x7f, 0xff, 0xff, + 0x1f, 0x00, 0x48, 0x7f, 0xff, 0xff, 0x1f, 0x80, 0x20, 0x7f, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0xbe, 0xff, 0xff, 0x07, 0x00, 0x00, 0x9c, 0xff, 0x1f, + 0x00, 0x00, 0x00, 0x48, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x20, 0xc4, 0x00, + 0x00, 0x00, 0xf0, 0x1f, 0x8c, 0xff, 0x00, 0x00, 0xf8, 0x03, 0x07, 0x80, + 0x01, 0x00, 0x18, 0x80, 0x03, 0x00, 0x03, 0x00, 0x00, 0x80, 0x01, 0x00, + 0x02, 0x00, 0x00, 0x80, 0x00, 0x00, 0x04, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach195.xbm b/games/x11/xroach/bitmaps/roach195.xbm new file mode 100644 index 0000000..303008b --- /dev/null +++ b/games/x11/xroach/bitmaps/roach195.xbm @@ -0,0 +1,30 @@ +#define roach195_width 48 +#define roach195_height 48 + +static char roach195_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x08, 0x00, 0x1c, + 0x00, 0x00, 0x00, 0x38, 0x00, 0x07, 0x00, 0x00, 0x00, 0x70, 0xe0, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x61, 0x00, 0x00, 0x00, 0x00, 0x00, 0xf1, 0xff, + 0x01, 0x00, 0xe7, 0x07, 0xff, 0xff, 0x07, 0x00, 0xfc, 0x1c, 0xff, 0xff, + 0x0f, 0x00, 0x00, 0xf0, 0xff, 0xff, 0x07, 0x00, 0x00, 0xe0, 0xff, 0x3f, + 0x08, 0x00, 0x00, 0xde, 0xff, 0xc3, 0x1f, 0x00, 0x00, 0xbe, 0x3f, 0xfc, + 0x1f, 0x00, 0x00, 0x7f, 0xc3, 0xff, 0x1f, 0x00, 0x20, 0x7f, 0xfc, 0xff, + 0x0f, 0x00, 0x60, 0x7f, 0xff, 0xff, 0x01, 0x00, 0x70, 0x7f, 0xff, 0x7f, + 0x00, 0x00, 0x70, 0xfe, 0xff, 0x3f, 0x00, 0x00, 0xf0, 0xfe, 0xff, 0x07, + 0x00, 0x00, 0xe0, 0xfe, 0xff, 0xc1, 0x03, 0x00, 0x10, 0xfd, 0x7f, 0xff, + 0x0f, 0x00, 0xc0, 0x78, 0x11, 0x00, 0x18, 0x00, 0x02, 0xb0, 0x20, 0x00, + 0x00, 0x00, 0x01, 0x80, 0x30, 0x00, 0x00, 0x00, 0x00, 0xf0, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x7c, 0x1c, 0x00, 0x00, 0x00, 0x80, 0x0f, 0x0c, 0x00, + 0x00, 0x00, 0xc0, 0x01, 0x04, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach210.xbm b/games/x11/xroach/bitmaps/roach210.xbm new file mode 100644 index 0000000..11f9b02 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach210.xbm @@ -0,0 +1,30 @@ +#define roach210_width 48 +#define roach210_height 48 + +static char roach210_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0xf0, + 0x00, 0x00, 0x00, 0x00, 0x18, 0xff, 0x01, 0x00, 0x00, 0x03, 0x8c, 0xff, + 0x01, 0x00, 0x00, 0x3e, 0xfc, 0x7f, 0x00, 0x00, 0x00, 0x60, 0xfc, 0x1f, + 0x04, 0x00, 0x00, 0xc0, 0xff, 0x0f, 0x0f, 0x00, 0x00, 0xc0, 0xff, 0xc3, + 0x0f, 0x00, 0x80, 0xe7, 0xff, 0xf0, 0x07, 0x00, 0xf0, 0xf8, 0x3f, 0xfc, + 0x03, 0x00, 0x7f, 0xf0, 0x1f, 0xff, 0x01, 0x00, 0x0e, 0xcc, 0xc7, 0xff, + 0x00, 0x00, 0x00, 0x9e, 0xf1, 0x7f, 0x00, 0x00, 0x00, 0x3f, 0xfc, 0x3f, + 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x0f, 0x0f, 0x00, 0x00, 0xff, 0xfe, 0x87, + 0x33, 0x00, 0xa0, 0xff, 0xfe, 0xff, 0x00, 0x00, 0xe0, 0xff, 0xfd, 0x1c, + 0x00, 0x00, 0xf0, 0xff, 0x7d, 0x00, 0x00, 0x00, 0xe3, 0xfd, 0xfd, 0x00, + 0x00, 0x00, 0xe0, 0xf9, 0x85, 0x00, 0x00, 0x00, 0xc0, 0xf1, 0xc7, 0x00, + 0x00, 0x00, 0x40, 0xc2, 0xc2, 0x00, 0x00, 0x00, 0x00, 0x00, 0xc3, 0x00, + 0x00, 0x00, 0x20, 0x80, 0x63, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x20, 0x00, + 0x00, 0x00, 0x08, 0x70, 0x20, 0x00, 0x00, 0x00, 0x00, 0x38, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach225.xbm b/games/x11/xroach/bitmaps/roach225.xbm new file mode 100644 index 0000000..cd17ce1 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach225.xbm @@ -0,0 +1,30 @@ +#define roach225_width 48 +#define roach225_height 48 + +static char roach225_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x18, 0x38, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x3f, + 0x00, 0x00, 0x00, 0x00, 0xc6, 0x3f, 0x00, 0x00, 0x00, 0x00, 0xe3, 0x9f, + 0x01, 0x00, 0x00, 0x00, 0xf1, 0xcf, 0x01, 0x00, 0x00, 0x00, 0xf9, 0xe7, + 0x01, 0x00, 0x00, 0x00, 0xff, 0xf3, 0x01, 0x00, 0x00, 0x0f, 0xff, 0xf9, + 0x01, 0x00, 0xc0, 0x1f, 0xff, 0xfc, 0x00, 0x00, 0x00, 0xf0, 0x3f, 0x7e, + 0x00, 0x00, 0x00, 0xe0, 0x9f, 0x7f, 0x00, 0x00, 0x00, 0xf0, 0xcf, 0x3f, + 0x3e, 0x00, 0x80, 0xff, 0xe7, 0x1f, 0x07, 0x00, 0xc0, 0xf0, 0xf3, 0xdf, + 0x03, 0x00, 0x70, 0xe0, 0xf9, 0xcf, 0x00, 0x00, 0x38, 0x3c, 0xfc, 0x67, + 0x00, 0x00, 0x1e, 0x7e, 0xfe, 0x1f, 0x00, 0x80, 0x0f, 0xfe, 0xfc, 0x01, + 0x00, 0x00, 0x00, 0xfe, 0xfd, 0x01, 0x00, 0x00, 0x00, 0xfe, 0xfb, 0x01, + 0x00, 0x00, 0x00, 0xff, 0x7b, 0x03, 0x00, 0x00, 0x00, 0xfd, 0x0f, 0x03, + 0x00, 0x00, 0x80, 0xf9, 0x1f, 0x03, 0x00, 0x00, 0xc0, 0xe3, 0x1f, 0x03, + 0x00, 0x00, 0x80, 0x9f, 0x1b, 0x01, 0x00, 0x00, 0x00, 0x07, 0x18, 0x01, + 0x00, 0x00, 0x02, 0x08, 0x1c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, + 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach240.xbm b/games/x11/xroach/bitmaps/roach240.xbm new file mode 100644 index 0000000..467ac9d --- /dev/null +++ b/games/x11/xroach/bitmaps/roach240.xbm @@ -0,0 +1,30 @@ +#define roach240_width 48 +#define roach240_height 48 + +static char roach240_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x80, 0xc1, 0x03, 0x00, 0x00, 0x00, 0x80, 0xf1, 0x11, + 0x00, 0x00, 0x00, 0x80, 0xf8, 0x18, 0x00, 0x00, 0x00, 0x80, 0xf8, 0x3c, + 0x00, 0x00, 0x00, 0x40, 0x7c, 0x3c, 0x00, 0x00, 0x00, 0x40, 0x7e, 0x3e, + 0x00, 0x00, 0x00, 0x20, 0x3f, 0x1e, 0x00, 0x00, 0x00, 0xa0, 0x3f, 0x1f, + 0x00, 0x00, 0x00, 0xe0, 0x9f, 0x1f, 0x3e, 0x00, 0x00, 0xc0, 0x9f, 0x0f, + 0x07, 0x00, 0x00, 0xc0, 0xcf, 0x8f, 0x00, 0x00, 0x00, 0xe6, 0xe7, 0xcf, + 0x00, 0x00, 0xc0, 0xf9, 0xe7, 0x47, 0x00, 0x00, 0x00, 0xf0, 0xf3, 0x67, + 0x00, 0x00, 0x00, 0xf8, 0xf3, 0x37, 0x00, 0x00, 0x00, 0xf8, 0xf9, 0x1f, + 0x00, 0x00, 0x00, 0xff, 0xfd, 0x07, 0x00, 0x00, 0xc0, 0x03, 0xfc, 0x01, + 0x00, 0x00, 0x60, 0x00, 0xfe, 0x01, 0x00, 0x00, 0x30, 0xfc, 0xfc, 0x03, + 0x00, 0x00, 0x30, 0xfe, 0xfb, 0x06, 0x00, 0x00, 0x30, 0xfe, 0x77, 0x06, + 0x00, 0x00, 0x1c, 0xfc, 0x37, 0x06, 0x00, 0x00, 0x02, 0xfc, 0x2f, 0x06, + 0x00, 0x00, 0x00, 0xf8, 0x7f, 0x04, 0x00, 0x00, 0x00, 0xe5, 0x6f, 0x0c, + 0x00, 0x00, 0x00, 0x8e, 0x6f, 0x00, 0x00, 0x00, 0x00, 0x7e, 0x60, 0x00, + 0x00, 0x00, 0x00, 0x3e, 0x20, 0x00, 0x00, 0x00, 0x80, 0xf0, 0x30, 0x00, + 0x00, 0x00, 0x40, 0x10, 0x30, 0x00, 0x00, 0x00, 0x00, 0x10, 0x18, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, + 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach255.xbm b/games/x11/xroach/bitmaps/roach255.xbm new file mode 100644 index 0000000..de5cea6 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach255.xbm @@ -0,0 +1,30 @@ +#define roach255_width 48 +#define roach255_height 48 + +static char roach255_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x02, 0x18, 0x00, 0x00, 0x00, 0x00, 0x06, 0x9c, 0x01, + 0x00, 0x00, 0x00, 0x0c, 0x9e, 0x03, 0x00, 0x00, 0x00, 0x18, 0x8f, 0x03, + 0x00, 0x00, 0x00, 0x18, 0xcf, 0x03, 0x00, 0x00, 0x00, 0x98, 0xcf, 0x03, + 0x00, 0x00, 0x00, 0x88, 0xcf, 0x83, 0x01, 0x00, 0x00, 0xc8, 0xc7, 0xe3, + 0x00, 0x00, 0x00, 0xc8, 0xe7, 0x63, 0x00, 0x00, 0x00, 0xec, 0xe7, 0x33, + 0x00, 0x00, 0x00, 0xec, 0xe7, 0x33, 0x00, 0x00, 0x00, 0xf8, 0xe3, 0x13, + 0x00, 0x00, 0x00, 0xf8, 0xf3, 0x1b, 0x00, 0x00, 0x00, 0xf0, 0xf3, 0x1b, + 0x00, 0x00, 0x00, 0xf0, 0xf3, 0x09, 0x00, 0x00, 0x80, 0xff, 0xf9, 0x07, + 0x00, 0x00, 0xc0, 0xf8, 0xf9, 0x01, 0x00, 0x00, 0xe0, 0xf8, 0xf9, 0x01, + 0x00, 0x00, 0x10, 0xfc, 0xf9, 0x01, 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x07, + 0x00, 0x00, 0x00, 0x02, 0xfc, 0x0c, 0x00, 0x00, 0x00, 0x01, 0xf8, 0x0c, + 0x00, 0x00, 0x80, 0xf8, 0x63, 0x18, 0x00, 0x00, 0xc0, 0xfc, 0x6f, 0x18, + 0x00, 0x00, 0x60, 0xfc, 0x9f, 0x30, 0x00, 0x00, 0x60, 0xfc, 0x3f, 0x01, + 0x00, 0x00, 0x60, 0xf8, 0x3f, 0x01, 0x00, 0x00, 0x20, 0xe0, 0x3f, 0x01, + 0x00, 0x00, 0x38, 0xb0, 0x8f, 0x01, 0x00, 0x00, 0x08, 0xf4, 0x83, 0x01, + 0x00, 0x00, 0x00, 0xf0, 0x81, 0x01, 0x00, 0x00, 0x00, 0xf0, 0x85, 0x00, + 0x00, 0x00, 0x00, 0x08, 0xc1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x81, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x81, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach270.xbm b/games/x11/xroach/bitmaps/roach270.xbm new file mode 100644 index 0000000..d3a0787 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach270.xbm @@ -0,0 +1,30 @@ +#define roach270_width 48 +#define roach270_height 48 + +static char roach270_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, + 0x00, 0x00, 0x00, 0xe0, 0x1c, 0x00, 0x00, 0x00, 0x20, 0xf0, 0x3c, 0x18, + 0x00, 0x00, 0xc0, 0xf0, 0x3c, 0x0c, 0x00, 0x00, 0x80, 0xf1, 0x3c, 0x06, + 0x00, 0x00, 0x00, 0xf9, 0x7c, 0x06, 0x00, 0x00, 0x00, 0xf9, 0x7c, 0x06, + 0x00, 0x00, 0x00, 0xf9, 0x7c, 0x06, 0x00, 0x00, 0x00, 0xf9, 0x7c, 0x06, + 0x00, 0x00, 0x00, 0xf9, 0x7c, 0x06, 0x00, 0x00, 0x00, 0xfb, 0x7c, 0x02, + 0x00, 0x00, 0x00, 0xff, 0xfc, 0x02, 0x00, 0x00, 0x00, 0xfe, 0xfc, 0x01, + 0x00, 0x00, 0x00, 0xfc, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x00, + 0x00, 0x00, 0x00, 0xf8, 0xfc, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfc, 0x07, + 0x00, 0x00, 0x80, 0xfc, 0xfc, 0x0c, 0x00, 0x00, 0xc0, 0xfc, 0xfc, 0x18, + 0x00, 0x00, 0x60, 0x78, 0xfc, 0x10, 0x00, 0x00, 0x30, 0x18, 0xc0, 0x20, + 0x00, 0x00, 0x00, 0xc6, 0x1f, 0x01, 0x00, 0x00, 0x00, 0xe3, 0x7f, 0x02, + 0x00, 0x00, 0x00, 0xf1, 0xff, 0x06, 0x00, 0x00, 0x80, 0xf1, 0xff, 0x06, + 0x00, 0x00, 0x80, 0xf1, 0xff, 0x06, 0x00, 0x00, 0x80, 0xe1, 0x7f, 0x06, + 0x00, 0x00, 0x80, 0x81, 0x1f, 0x06, 0x00, 0x00, 0x80, 0x81, 0x0f, 0x04, + 0x00, 0x00, 0x80, 0x81, 0x2f, 0x04, 0x00, 0x00, 0xc0, 0x80, 0x0f, 0x0c, + 0x00, 0x00, 0x40, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach285.xbm b/games/x11/xroach/bitmaps/roach285.xbm new file mode 100644 index 0000000..5e2af7a --- /dev/null +++ b/games/x11/xroach/bitmaps/roach285.xbm @@ -0,0 +1,30 @@ +#define roach285_width 48 +#define roach285_height 48 + +static char roach285_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x00, 0x01, 0x00, 0x00, 0x00, 0xe6, 0x80, 0x00, + 0x00, 0x00, 0x00, 0xe6, 0xc1, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x63, 0x00, + 0x00, 0x00, 0x00, 0xcf, 0x47, 0x00, 0x00, 0x00, 0x00, 0xcf, 0x47, 0x00, + 0x00, 0x00, 0x03, 0xdf, 0x4f, 0x00, 0x00, 0x00, 0x1c, 0x9f, 0xcf, 0x00, + 0x00, 0x00, 0x30, 0x9f, 0x9f, 0x00, 0x00, 0x00, 0x30, 0xbf, 0x9f, 0x00, + 0x00, 0x00, 0x20, 0xbf, 0xbf, 0x00, 0x00, 0x00, 0x40, 0x3e, 0xff, 0x00, + 0x00, 0x00, 0x40, 0x3e, 0x7f, 0x00, 0x00, 0x00, 0xc0, 0x7e, 0x7f, 0x00, + 0x00, 0x00, 0xc0, 0x7f, 0x7f, 0x03, 0x00, 0x00, 0x00, 0x7f, 0xfe, 0x07, + 0x00, 0x00, 0x00, 0xfe, 0xfe, 0x1c, 0x00, 0x00, 0x00, 0xfc, 0xfe, 0x18, + 0x00, 0x00, 0x00, 0xfc, 0xfe, 0x00, 0x00, 0x00, 0x00, 0xff, 0xfd, 0x00, + 0x00, 0x00, 0x00, 0xfd, 0x01, 0x07, 0x00, 0x00, 0x80, 0x7c, 0xf8, 0x0e, + 0x00, 0x00, 0xc0, 0xb8, 0xff, 0x0d, 0x00, 0x00, 0x40, 0xd8, 0xff, 0x09, + 0x00, 0x00, 0x00, 0xcc, 0xff, 0x19, 0x00, 0x00, 0x00, 0xee, 0xff, 0x19, + 0x00, 0x00, 0x00, 0xe6, 0xff, 0x18, 0x00, 0x00, 0x00, 0xc6, 0x7f, 0x30, + 0x00, 0x00, 0x00, 0x86, 0x7f, 0x60, 0x00, 0x00, 0x00, 0x06, 0x7e, 0xc1, + 0x00, 0x00, 0x00, 0x04, 0x7c, 0x00, 0x00, 0x00, 0x00, 0x0c, 0xbc, 0x00, + 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x01, + 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach300.xbm b/games/x11/xroach/bitmaps/roach300.xbm new file mode 100644 index 0000000..ca4e89b --- /dev/null +++ b/games/x11/xroach/bitmaps/roach300.xbm @@ -0,0 +1,30 @@ +#define roach300_width 48 +#define roach300_height 48 + +static char roach300_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x06, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x1f, 0x06, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x04, 0x00, + 0x00, 0x00, 0x60, 0x7c, 0x0c, 0x00, 0x00, 0x00, 0xe0, 0x7c, 0x0c, 0x00, + 0x00, 0x00, 0xf0, 0xf8, 0x08, 0x00, 0x00, 0x00, 0xe0, 0xf9, 0x11, 0x00, + 0x00, 0x00, 0xe0, 0xf3, 0x13, 0x00, 0x00, 0x00, 0xe0, 0xf3, 0x17, 0x00, + 0x00, 0x00, 0xc0, 0xe7, 0x1f, 0x00, 0x00, 0xc0, 0xc7, 0xc7, 0x1f, 0x00, + 0x00, 0x00, 0xcc, 0xcf, 0x9f, 0x00, 0x00, 0x00, 0x88, 0x9f, 0xff, 0x07, + 0x00, 0x00, 0x98, 0x9f, 0xff, 0x3c, 0x00, 0x00, 0xb0, 0x3f, 0x7f, 0x00, + 0x00, 0x00, 0x60, 0x7f, 0xff, 0x00, 0x00, 0x00, 0xe0, 0x7f, 0xfe, 0x00, + 0x00, 0x00, 0x00, 0xfe, 0x7e, 0x0f, 0x00, 0x00, 0x00, 0xfe, 0x00, 0x1c, + 0x00, 0x00, 0x00, 0xfc, 0xf1, 0x19, 0x00, 0x00, 0x00, 0x7e, 0xf8, 0x33, + 0x00, 0x00, 0x00, 0x79, 0xfc, 0x63, 0x00, 0x00, 0x80, 0x31, 0xfe, 0x63, + 0x00, 0x00, 0x80, 0x31, 0xff, 0xc3, 0x01, 0x00, 0x80, 0x91, 0xff, 0x01, + 0x03, 0x00, 0x80, 0x91, 0xff, 0x04, 0x00, 0x00, 0x80, 0x98, 0x7f, 0x01, + 0x00, 0x00, 0x00, 0x18, 0xff, 0x03, 0x00, 0x00, 0x00, 0x10, 0xf0, 0x05, + 0x00, 0x00, 0x00, 0x30, 0x60, 0x08, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x60, 0x40, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x40, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach315.xbm b/games/x11/xroach/bitmaps/roach315.xbm new file mode 100644 index 0000000..922698a --- /dev/null +++ b/games/x11/xroach/bitmaps/roach315.xbm @@ -0,0 +1,30 @@ +#define roach315_width 48 +#define roach315_height 48 + +static char roach315_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x60, 0x20, 0x00, 0x00, + 0x00, 0x00, 0xf0, 0xe1, 0x00, 0x00, 0x00, 0x00, 0xf0, 0xc7, 0x01, 0x00, + 0x00, 0x00, 0xe0, 0x9f, 0x01, 0x00, 0x00, 0x00, 0xc6, 0x3f, 0x02, 0x00, + 0x00, 0x00, 0x8e, 0x7f, 0x06, 0x00, 0x00, 0x00, 0x1e, 0xff, 0x06, 0x00, + 0x00, 0x00, 0x3e, 0xfe, 0xc3, 0x00, 0x00, 0x00, 0x7c, 0xfc, 0xe7, 0x1f, + 0x00, 0x00, 0xfc, 0xf8, 0x3f, 0x00, 0x00, 0x00, 0xf8, 0xf1, 0x1f, 0x00, + 0x00, 0x00, 0xf8, 0xe7, 0x3f, 0x00, 0x00, 0x80, 0xf1, 0xcf, 0x3f, 0x02, + 0x00, 0x00, 0xe6, 0x9f, 0xff, 0x07, 0x00, 0x00, 0xcc, 0x3f, 0x1f, 0x08, + 0x00, 0x00, 0x9c, 0x7f, 0xce, 0x31, 0x00, 0x00, 0xf0, 0xff, 0xe0, 0x63, + 0x00, 0x00, 0xc0, 0xfe, 0xf1, 0xe7, 0x03, 0x00, 0x00, 0xfc, 0xf9, 0xc7, + 0x00, 0x00, 0x00, 0xf8, 0xf8, 0x07, 0x00, 0x00, 0x00, 0xfe, 0xfc, 0x03, + 0x00, 0x00, 0x00, 0x62, 0xfe, 0x05, 0x00, 0x00, 0x00, 0x42, 0xfe, 0x0e, + 0x00, 0x00, 0x00, 0x42, 0xfe, 0x0f, 0x00, 0x00, 0x00, 0x46, 0xfe, 0x47, + 0x00, 0x00, 0x00, 0x66, 0x84, 0x03, 0x00, 0x00, 0x00, 0xc2, 0x40, 0x00, + 0x04, 0x00, 0x00, 0x80, 0x00, 0x02, 0x00, 0x00, 0x00, 0x80, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x10, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach330.xbm b/games/x11/xroach/bitmaps/roach330.xbm new file mode 100644 index 0000000..67735f8 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach330.xbm @@ -0,0 +1,30 @@ +#define roach330_width 48 +#define roach330_height 48 + +static char roach330_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x3e, 0x60, 0x00, 0x00, + 0x00, 0x00, 0xfe, 0xc1, 0x00, 0x00, 0x00, 0x00, 0xfe, 0x8f, 0xf0, 0x01, + 0x00, 0x00, 0xf8, 0xff, 0x38, 0x00, 0x00, 0x80, 0xe0, 0xff, 0x0f, 0x00, + 0x00, 0x80, 0xc3, 0xff, 0x07, 0x00, 0x00, 0x80, 0x0f, 0xff, 0x1f, 0x03, + 0x00, 0x80, 0x3f, 0xfc, 0xff, 0x1f, 0x00, 0x00, 0xff, 0xf0, 0x7f, 0x38, + 0x00, 0x00, 0xfe, 0xe3, 0x8f, 0xe1, 0x07, 0x00, 0xf8, 0x8f, 0xc7, 0xc3, + 0x00, 0x00, 0xf0, 0x3f, 0xe6, 0x07, 0x00, 0x00, 0xe1, 0xff, 0xf0, 0x07, + 0x00, 0xc0, 0xc7, 0xff, 0xf9, 0x07, 0x00, 0x30, 0xbc, 0xff, 0xf9, 0x07, + 0x00, 0x00, 0xf0, 0xfd, 0xfd, 0x1f, 0x00, 0x00, 0x00, 0xf8, 0xfd, 0x7f, + 0x00, 0x00, 0x00, 0xf0, 0xfc, 0x1d, 0x08, 0x00, 0x00, 0xc8, 0xfd, 0x1e, + 0x00, 0x00, 0x00, 0x0c, 0x7d, 0x06, 0x00, 0x00, 0x00, 0x08, 0x19, 0x02, + 0x00, 0x00, 0x00, 0x08, 0x01, 0x00, 0x00, 0x00, 0x00, 0x18, 0x01, 0x00, + 0x00, 0x00, 0x00, 0x10, 0x0f, 0x00, 0x00, 0x00, 0x00, 0x10, 0x38, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/bitmaps/roach345.xbm b/games/x11/xroach/bitmaps/roach345.xbm new file mode 100644 index 0000000..af01fa5 --- /dev/null +++ b/games/x11/xroach/bitmaps/roach345.xbm @@ -0,0 +1,30 @@ +#define roach345_width 48 +#define roach345_height 48 + +static char roach345_bits[] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x10, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x70, 0x00, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x03, 0x40, 0x00, + 0x00, 0x00, 0x00, 0x0e, 0x3c, 0x00, 0x00, 0x00, 0x00, 0x10, 0x0e, 0x00, + 0x00, 0x00, 0xff, 0x23, 0x03, 0x00, 0x00, 0x80, 0xff, 0xff, 0x83, 0x03, + 0x00, 0xc0, 0xff, 0xff, 0xe3, 0xff, 0x03, 0x80, 0xff, 0xff, 0x3f, 0x70, + 0x00, 0x00, 0xf0, 0xff, 0x1f, 0x00, 0x00, 0x40, 0x00, 0xff, 0xcf, 0x03, + 0x00, 0xe0, 0x0f, 0xf0, 0xef, 0x03, 0x00, 0xc0, 0x7f, 0x00, 0xf7, 0x07, + 0x00, 0xc0, 0xff, 0x07, 0xf0, 0x07, 0x00, 0x00, 0xff, 0x7f, 0xf0, 0xff, + 0x13, 0x00, 0xfe, 0xff, 0xf1, 0x3f, 0x00, 0x00, 0xf0, 0xff, 0xf9, 0x3b, + 0x00, 0x00, 0xc0, 0xff, 0xf9, 0x1f, 0x00, 0x00, 0x82, 0xff, 0xfb, 0x1f, + 0x00, 0x00, 0xff, 0xfb, 0xfb, 0x03, 0x00, 0x80, 0xe1, 0xe1, 0xf3, 0x81, + 0x00, 0x40, 0x00, 0x30, 0x62, 0x00, 0x02, 0x00, 0x00, 0x30, 0x04, 0x00, + 0x04, 0x00, 0x00, 0x60, 0x0c, 0x00, 0x00, 0x00, 0x00, 0xe0, 0x78, 0x00, + 0x00, 0x00, 0x00, 0xc0, 0xc0, 0x03, 0x00, 0x00, 0x00, 0x80, 0x00, 0x06, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + 0x00, 0x00, 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/games/x11/xroach/roachmap.h b/games/x11/xroach/roachmap.h new file mode 100644 index 0000000..209bf54 --- /dev/null +++ b/games/x11/xroach/roachmap.h @@ -0,0 +1,65 @@ +#include "roach000.xbm" +#include "roach015.xbm" +#include "roach030.xbm" +#include "roach045.xbm" +#include "roach060.xbm" +#include "roach075.xbm" +#include "roach090.xbm" +#include "roach105.xbm" +#include "roach120.xbm" +#include "roach135.xbm" +#include "roach150.xbm" +#include "roach165.xbm" +#include "roach180.xbm" +#include "roach195.xbm" +#include "roach210.xbm" +#include "roach225.xbm" +#include "roach240.xbm" +#include "roach255.xbm" +#include "roach270.xbm" +#include "roach285.xbm" +#include "roach300.xbm" +#include "roach315.xbm" +#include "roach330.xbm" +#include "roach345.xbm" + +#define ROACH_HEADINGS 24 /* number of orientations */ +#define ROACH_ANGLE 15 /* angle between orientations */ + +typedef struct RoachMap { + char *roachBits; + Pixmap pixmap; + int width; + int height; + float sine; + float cosine; +} RoachMap; + +RoachMap roachPix[] = { + {roach000_bits, None, roach000_height, roach000_width, 0.0, 0.0}, + {roach015_bits, None, roach015_height, roach015_width, 0.0, 0.0}, + {roach030_bits, None, roach030_height, roach030_width, 0.0, 0.0}, + {roach045_bits, None, roach045_height, roach045_width, 0.0, 0.0}, + {roach060_bits, None, roach060_height, roach060_width, 0.0, 0.0}, + {roach075_bits, None, roach075_height, roach075_width, 0.0, 0.0}, + {roach090_bits, None, roach090_height, roach090_width, 0.0, 0.0}, + {roach105_bits, None, roach105_height, roach105_width, 0.0, 0.0}, + {roach120_bits, None, roach120_height, roach120_width, 0.0, 0.0}, + {roach135_bits, None, roach135_height, roach135_width, 0.0, 0.0}, + {roach150_bits, None, roach150_height, roach150_width, 0.0, 0.0}, + {roach165_bits, None, roach165_height, roach165_width, 0.0, 0.0}, + {roach180_bits, None, roach180_height, roach180_width, 0.0, 0.0}, + {roach195_bits, None, roach195_height, roach195_width, 0.0, 0.0}, + {roach210_bits, None, roach210_height, roach210_width, 0.0, 0.0}, + {roach225_bits, None, roach225_height, roach225_width, 0.0, 0.0}, + {roach240_bits, None, roach240_height, roach240_width, 0.0, 0.0}, + {roach255_bits, None, roach255_height, roach255_width, 0.0, 0.0}, + {roach270_bits, None, roach270_height, roach270_width, 0.0, 0.0}, + {roach285_bits, None, roach285_height, roach285_width, 0.0, 0.0}, + {roach300_bits, None, roach300_height, roach300_width, 0.0, 0.0}, + {roach315_bits, None, roach315_height, roach315_width, 0.0, 0.0}, + {roach330_bits, None, roach330_height, roach330_width, 0.0, 0.0}, + {roach345_bits, None, roach345_height, roach345_width, 0.0, 0.0}, +}; + + diff --git a/games/x11/xroach/xroach.6 b/games/x11/xroach/xroach.6 new file mode 100644 index 0000000..509fc40 --- /dev/null +++ b/games/x11/xroach/xroach.6 @@ -0,0 +1,75 @@ +.\" Copyright (c) 1991, 1993 +.\" The Regents of the University of California. All rights reserved. +.\" +.\" from: X Version 11 Release 4, May 30, 1991 +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" 3. All advertising materials mentioning features or use of this software +.\" must display the following acknowledgement: +.\" This product includes software developed by the University of +.\" California, Berkeley and its contributors. +.\" 4. Neither the name of the University nor the names of its contributors +.\" may be used to endorse or promote products derived from this software +.\" without specific prior written permission. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" @(#)xroach.6 8.2 (Berkeley) 4/19/94 +.\" +.TH XROACH 6 "April 19, 1994" "X Version 11 Release 4" +.SH NAME +xroach \- cockroaches hide under your windows +.SH SYNOPSIS +.B xroach +[-option .,..] +.SH DESCRIPTION +.I Xroach +displays disgusting cockroaches on your root window. These creepy crawlies +scamper +around until they find a window to hide under. Whenever you move or iconify +a window, the exposed beetles again scamper for cover. +.SH OPTIONS +.TP 8 +.B \-display \fIdisplay_name\fB +Drop the roaches on the given display. Make sure the display is nearby, so you +can hear the screams. +.TP 8 +.B \-rc \fIroach_color\fB +Use the given string as the color for the bugs instead of the default "black". +.TP 8 +.B \-speed \fIroach_speed\fB +Use the given speed for the insects instead of the default 20.0. For example, +in winter the speed should be set to 5.0. In summer, 30.0 might be about +right. +.TP 8 +.B \-roaches \fInum_roaches\fB +This is the number of the little critters. Default is 10. +.SH BUGS +As given by the -roaches option. Default is 10. +.SH COPYRIGHT +Copyright 1991 by J.T. Anderson +.SH AUTHORS +J.T. Anderson +(jta@locus.com) +.SH DEDICATION +Greg McFarlane +(gregm@otc.otca.oz.au) +.SH "SEE ALSO" +xroachmotel(1), xddt(1) diff --git a/games/x11/xroach/xroach.c b/games/x11/xroach/xroach.c new file mode 100644 index 0000000..854167f --- /dev/null +++ b/games/x11/xroach/xroach.c @@ -0,0 +1,602 @@ +/* + Xroach - A game of skill. Try to find the roaches under your windows. + + Copyright 1991 by J.T. Anderson + + jta@locus.com + + This program may be freely distributed provided that all + copyright notices are retained. + + To build: + cc -o xroach roach.c -lX11 [-lsocketorwhatever] [-lm] [-l...] + + Dedicated to Greg McFarlane. (gregm@otc.otca.oz.au) +*/ +#include <X11/Xlib.h> +#include <X11/Xutil.h> +#include <X11/Xos.h> + +#include <stdio.h> +#include <math.h> +#include <signal.h> +#include <stdlib.h> + +char Copyright[] = "Xroach\nCopyright 1991 J.T. Anderson"; + +#include "roachmap.h" + +typedef unsigned long Pixel; +typedef int ErrorHandler(); + +#define SCAMPER_EVENT (LASTEvent + 1) + +#if !defined(GRAB_SERVER) +#define GRAB_SERVER 0 +#endif + +Display *display; +int screen; +Window rootWin; +unsigned int display_width, display_height; +int center_x, center_y; +GC gc; +char *display_name = NULL; +Pixel black, white; + +int done = 0; +int eventBlock = 0; +int errorVal = 0; + +typedef struct Roach { + RoachMap *rp; + int index; + float x; + float y; + int intX; + int intY; + int hidden; + int turnLeft; + int steps; +} Roach; + +Roach *roaches; +int maxRoaches = 10; +int curRoaches = 0; +float roachSpeed = 20.0; + +Region rootVisible = NULL; + +void Usage(); +void SigHandler(); +void AddRoach(); +void MoveRoach(); +void DrawRoaches(); +void CoverRoot(); +int CalcRootVisible(); +int MarkHiddenRoaches(); +Pixel AllocNamedColor(); + +void +main(ac, av) +int ac; +char *av[]; +{ + XGCValues xgcv; + int ax; + char *arg; + RoachMap *rp; + int rx; + float angle; + XEvent ev; + char *roachColor = "black"; + int nVis; + int needCalc; + + /* + Process command line options. + */ + for (ax=1; ax<ac; ax++) { + arg = av[ax]; + if (strcmp(arg, "-display") == 0) { + display_name = av[++ax]; + } + else if (strcmp(arg, "-rc") == 0) { + roachColor = av[++ax]; + } + else if (strcmp(arg, "-speed") == 0) { + roachSpeed = atof(av[++ax]); + } + else if (strcmp(arg, "-roaches") == 0) { + maxRoaches = strtol(av[++ax], (char **)NULL, 0); + } + else { + Usage(); + } + } + + srand((int)time((long *)NULL)); + + /* + Catch some signals so we can erase any visible roaches. + */ + signal(SIGKILL, SigHandler); + signal(SIGINT, SigHandler); + signal(SIGTERM, SigHandler); + signal(SIGHUP, SigHandler); + + display = XOpenDisplay(display_name); + if (display == NULL) { + if (display_name == NULL) display_name = getenv("DISPLAY"); + (void) fprintf(stderr, "%s: cannot connect to X server %s\n", av[0], + display_name ? display_name : "(default)"); + exit(1); + } + + screen = DefaultScreen(display); + rootWin = RootWindow(display, screen); + black = BlackPixel(display, screen); + white = WhitePixel(display, screen); + + display_width = DisplayWidth(display, screen); + display_height = DisplayHeight(display, screen); + center_x = display_width / 2; + center_y = display_height / 2; + + /* + Create roach pixmaps at several orientations. + */ + for (ax=0; ax<360; ax+=ROACH_ANGLE) { + rx = ax / ROACH_ANGLE; + angle = rx * 0.261799387799; + rp = &roachPix[rx]; + rp->pixmap = XCreateBitmapFromData(display, rootWin, + rp->roachBits, rp->width, rp->height); + rp->sine = sin(angle); + rp->cosine = cos(angle); + } + + roaches = (Roach *)malloc(sizeof(Roach) * maxRoaches); + + gc = XCreateGC(display, rootWin, 0L, &xgcv); + XSetForeground(display, gc, AllocNamedColor(roachColor, black)); + XSetFillStyle(display, gc, FillStippled); + + while (curRoaches < maxRoaches) + AddRoach(); + + XSelectInput(display, rootWin, ExposureMask | SubstructureNotifyMask); + + needCalc = 1; + while (!done) { + if (XPending(display)) { + XNextEvent(display, &ev); + } + else { + if (needCalc) { + needCalc = CalcRootVisible(); + } + nVis = MarkHiddenRoaches(); + if (nVis) { + ev.type = SCAMPER_EVENT; + } + else { + DrawRoaches(); + eventBlock = 1; + XNextEvent(display, &ev); + eventBlock = 0; + } + } + + switch (ev.type) { + + case SCAMPER_EVENT: + for (rx=0; rx<curRoaches; rx++) { + if (!roaches[rx].hidden) + MoveRoach(rx); + } + DrawRoaches(); + XSync(display, False); + break; + + case Expose: + case MapNotify: + case UnmapNotify: + case ConfigureNotify: + needCalc = 1; + break; + + } + } + + CoverRoot(); + + XCloseDisplay(display); +} + +#define USEPRT(msg) fprintf(stderr, msg) + +void +Usage() +{ + USEPRT("Usage: xroach [options]\n\n"); + USEPRT("Options:\n"); + USEPRT(" -display displayname\n"); + USEPRT(" -rc roachcolor\n"); + USEPRT(" -roaches numroaches\n"); + USEPRT(" -speed roachspeed\n"); + + exit(1); +} + +void +SigHandler() +{ + + /* + If we are blocked, no roaches are visible and we can just bail + out. If we are not blocked, then let the main procedure clean + up the root window. + */ + if (eventBlock) { + XCloseDisplay(display); + exit(0); + } + else { + done = 1; + } +} + +/* + Generate random integer between 0 and maxVal-1. +*/ +int +RandInt(maxVal) +int maxVal; +{ + return rand() % maxVal; +} + +/* + Check for roach completely in specified rectangle. +*/ +int +RoachInRect(roach, rx, ry, x, y, width, height) +Roach *roach; +int rx; +int ry; +int x; +int y; +unsigned int width; +unsigned int height; +{ + if (rx < x) return 0; + if ((rx + roach->rp->width) > (x + width)) return 0; + if (ry < y) return 0; + if ((ry + roach->rp->height) > (y + height)) return 0; + + return 1; +} + +/* + Check for roach overlapping specified rectangle. +*/ +int +RoachOverRect(roach, rx, ry, x, y, width, height) +Roach *roach; +int rx; +int ry; +int x; +int y; +unsigned int width; +unsigned int height; +{ + if (rx >= (x + width)) return 0; + if ((rx + roach->rp->width) <= x) return 0; + if (ry >= (y + height)) return 0; + if ((ry + roach->rp->height) <= y) return 0; + + return 1; +} + +/* + Give birth to a roach. +*/ +void +AddRoach() +{ + Roach *r; + + if (curRoaches < maxRoaches) { + r = &roaches[curRoaches++]; + r->index = RandInt(ROACH_HEADINGS); + r->rp = &roachPix[r->index]; + r->x = RandInt(display_width - r->rp->width); + r->y = RandInt(display_height - r->rp->height); + r->intX = -1; + r->intY = -1; + r->hidden = 0; + r->steps = RandInt(200); + r->turnLeft = RandInt(100) >= 50; + } +} + +/* + Turn a roach. +*/ +void +TurnRoach(roach) +Roach *roach; +{ + if (roach->index != (roach->rp - roachPix)) return; + + if (roach->turnLeft) { + roach->index += (RandInt(30) / 10) + 1; + if (roach->index >= ROACH_HEADINGS) + roach->index -= ROACH_HEADINGS; + } + else { + roach->index -= (RandInt(30) / 10) + 1; + if (roach->index < 0) + roach->index += ROACH_HEADINGS; + } +} + +/* + Move a roach. +*/ +void +MoveRoach(rx) +int rx; +{ + Roach *roach; + Roach *r2; + float newX; + float newY; + int ii; + + roach = &roaches[rx]; + newX = roach->x + (roachSpeed * roach->rp->cosine); + newY = roach->y - (roachSpeed * roach->rp->sine); + + if (RoachInRect(roach, (int)newX, (int)newY, + 0, 0, display_width, display_height)) { + + roach->x = newX; + roach->y = newY; + + if (roach->steps-- <= 0) { + TurnRoach(roach); + roach->steps = RandInt(200); + } + + for (ii=rx+1; ii<curRoaches; ii++) { + r2 = &roaches[ii]; + if (RoachOverRect(roach, (int)newX, (int)newY, + r2->intX, r2->intY, r2->rp->width, r2->rp->height)) { + + TurnRoach(roach); + } + } + } + else { + TurnRoach(roach); + } +} + +/* + Draw all roaches. +*/ +void +DrawRoaches() +{ + Roach *roach; + int rx; + + for (rx=0; rx<curRoaches; rx++) { + roach = &roaches[rx]; + + if (roach->intX >= 0) { + XClearArea(display, rootWin, roach->intX, roach->intY, + roach->rp->width, roach->rp->height, False); + } + } + + for (rx=0; rx<curRoaches; rx++) { + roach = &roaches[rx]; + + if (!roach->hidden) { + roach->intX = roach->x; + roach->intY = roach->y; + roach->rp = &roachPix[roach->index]; + + XSetStipple(display, gc, roach->rp->pixmap); + XSetTSOrigin(display, gc, roach->intX, roach->intY); + XFillRectangle(display, rootWin, gc, + roach->intX, roach->intY, roach->rp->width, roach->rp->height); + } + else { + roach->intX = -1; + } + } +} + +/* + Cover root window to erase roaches. +*/ +void +CoverRoot() +{ + XSetWindowAttributes xswa; + long wamask; + Window roachWin; + + xswa.background_pixmap = ParentRelative; + xswa.override_redirect = True; + wamask = CWBackPixmap | CWOverrideRedirect; + roachWin = XCreateWindow(display, rootWin, 0, 0, + display_width, display_height, 0, CopyFromParent, + InputOutput, CopyFromParent, wamask, &xswa); + XLowerWindow(display, roachWin); + XMapWindow(display, roachWin); + XFlush(display); +} + +#if !GRAB_SERVER + +int +RoachErrors(dpy, err) +Display *dpy; +XErrorEvent *err; +{ + errorVal = err->error_code; + + return 0; +} + +#endif /* GRAB_SERVER */ + +/* + Calculate Visible region of root window. +*/ +int +CalcRootVisible() +{ + Region covered; + Region visible; + Window *children; + int nChildren; + Window dummy; + XWindowAttributes wa; + int wx; + XRectangle rect; + int winX, winY; + unsigned int winHeight, winWidth; + unsigned int borderWidth; + unsigned int depth; + + /* + If we don't grab the server, the XGetWindowAttribute or XGetGeometry + calls can abort us. On the other hand, the server grabs can make for + some annoying delays. + */ +#if GRAB_SERVER + XGrabServer(display); +#else + XSetErrorHandler(RoachErrors); +#endif + + /* + Get children of root. + */ + XQueryTree(display, rootWin, &dummy, &dummy, &children, &nChildren); + + /* + For each mapped child, add the window rectangle to the covered + region. + */ + covered = XCreateRegion(); + for (wx=0; wx<nChildren; wx++) { + if (XEventsQueued(display, QueuedAlready)) return 1; + errorVal = 0; + XGetWindowAttributes(display, children[wx], &wa); + if (errorVal) continue; + if (wa.map_state == IsViewable) { + XGetGeometry(display, children[wx], &dummy, &winX, &winY, + &winWidth, &winHeight, &borderWidth, &depth); + if (errorVal) continue; + rect.x = winX; + rect.y = winY; + rect.width = winWidth + (borderWidth * 2); + rect.height = winHeight + (borderWidth * 2); + XUnionRectWithRegion(&rect, covered, covered); + } + } + XFree((char *)children); + +#if GRAB_SERVER + XUngrabServer(display); +#else + XSetErrorHandler((ErrorHandler *)NULL); +#endif + + /* + Subtract the covered region from the root window region. + */ + visible = XCreateRegion(); + rect.x = 0; + rect.y = 0; + rect.width = display_width; + rect.height = display_height; + XUnionRectWithRegion(&rect, visible, visible); + XSubtractRegion(visible, covered, visible); + XDestroyRegion(covered); + + /* + Save visible region globally. + */ + if (rootVisible) + XDestroyRegion(rootVisible); + rootVisible = visible; + + + /* + Mark all roaches visible. + */ + for (wx=0; wx<curRoaches; wx++) + roaches[wx].hidden = 0; + + return 0; +} + +/* + Mark hidden roaches. +*/ +int +MarkHiddenRoaches() +{ + int rx; + Roach *r; + int nVisible; + + nVisible = 0; + for (rx=0; rx<curRoaches; rx++) { + r = &roaches[rx]; + + if (!r->hidden) { + if (r->intX > 0 && XRectInRegion(rootVisible, r->intX, r->intY, + r->rp->width, r->rp->height) == RectangleOut) { + r->hidden = 1; + } + else { + nVisible++; + } + } + } + + return nVisible; +} + +/* + Allocate a color by name. +*/ +Pixel +AllocNamedColor(colorName, dfltPix) +char *colorName; +Pixel dfltPix; +{ + Pixel pix; + XColor scrncolor; + XColor exactcolor; + + if (XAllocNamedColor(display, DefaultColormap(display, screen), + colorName, &scrncolor, &exactcolor)) { + pix = scrncolor.pixel; + } + else { + pix = dfltPix; + } + + return pix; +} + |