--- netmaze-0.81+jpg0.82.orig/Imakefile
+++ netmaze-0.81+jpg0.82/Imakefile
@@ -1,3 +1,8 @@
+#undef InstallManPage
+#define InstallManPage(file,destdir) # fake IMP(file,destdir)
+#undef InstallManPageLong
+#define InstallManPageLong(file,destdir,dest) # fake IMPL(file,destdir,dest)
+
#CC = gcc
LOCAL_LIBRARIES = $(XLIB) -lm
EXTRA_DEFINES = -DSH_MEM
--- netmaze-0.81+jpg0.82.orig/README.Debian
+++ netmaze-0.81+jpg0.82/README.Debian
@@ -0,0 +1,42 @@
+Readme for Debianized Netmaze
+=============================
+John Goerzen
+
+Netmaze is comprised of several parts:
+ * Main program, /usr/games/netmaze
+ * Netmaze server binary, installed to /usr/lib/games/netmaze/netserv
+ * X front end to netserv, installed to /usr/games/xnetserv
+ * Robots. Named dummy, follwer, and betterbot and installed to
+ /usr/lib/games/netmaze.
+ * Mazes -- installed to /usr/lib/games/netmaze/mazes
+ * Textures for texturemode -- installed to /usr/lib/games/netmaze/lib
+
+To play by yourself, all you need to do is run netmaze. To network the
+game, one person needs to run the netserv program. Everyone playing needs
+to run ``netmaze -server xxx'' where xxx is the name of the machine where
+netserv is running.
+
+>>>>>>>>>>> NOTE: BUG
+
+There is currently a bug in Netmaze whereby it does not free shared memory
+used when it exits.
+
+This can result in memory on your system being taken up but not used.
+
+After running Netmaze, type ``ipcs''. For each id listed, called x, type
+``ipcrm shm x''.
+
+Credits
+======
+Core Program: M. Hipp
+
+Included in the Debian package:
+
+xnetserv: John Goerzen
+Additional mazes: Brian "Rules" McCullogh (rules*), Steve A. Hutchins
+ (sah*), "roderick", & other Wichita State University
+ Computer Science students
+
+
+This program is no longer maintained by the original upstream, M. Hipp.
+John Goerzen has been doing more recent maintenance.
--- netmaze-0.81+jpg0.82.orig/allmove.c
+++ netmaze-0.81+jpg0.82/allmove.c
@@ -12,24 +12,24 @@
extern void play_sound(int);
extern int random_maze(MAZE*,int,int);
-extern long trigtab[];
+extern int trigtab[];
extern struct shared_struct *sm;
-static void enemy_colision(long,long,PLAYER*,PLAYER*);
+static void enemy_colision(int,int,PLAYER*,PLAYER*);
static int enemy_touch(PLAYER *player,PLAYER *players);
-static void wall_pcoll(long,long,PLAYER*);
+static void wall_pcoll(int,int,PLAYER*);
static int wall_scoll(PLAYER*,int nr);
-static int player_hit(int,long,long,PLAYER *players);
+static int player_hit(int,int,int,PLAYER *players);
static void set_player_pos(PLAYER*,int,MAZE *mazeadd);
static int add_shot(PLAYER*);
static void remove_shot(PLAYER*,int);
-static int ball_bounce(PLAYER *p,int i,int xc,int yc,long x,long y);
+static int ball_bounce(PLAYER *p,int i,int xc,int yc,int x,int y);
static void convert_trigtabs(int divider);
-void myrandominit(long s);
+void myrandominit(int s);
static int myrandom(void);
static void reset_player(PLAYER *players,int i);
-long walktab[320],shoottab[320];
+int walktab[320],shoottab[320];
/*
in diesem Programmteil sollten moeglichst keine
@@ -56,7 +56,7 @@
{
int i,joy,wink,plynum,j,next;
PLAYER *player;
- long plx,ply;
+ int plx,ply;
int count;
count = 1<config.divider;
@@ -259,8 +259,9 @@
else if(plynum == sm->shownumber)
play_sound(4);
-
- if(player->team != players[plynum].team) /* friendly-fire-protect */
+ /* JG HACK */
+ if((player->team != players[plynum].team) ||
+ (sm->gamemode & GM_TEAMSHOTHURT)) /* friendly-fire-protect */
{
player->stat.hits++;
players[plynum].stat.ownhits++;
@@ -279,9 +280,36 @@
else if(plynum == sm->shownumber)
play_sound(3);
- player->stat.kills++;
- players[plynum].stat.ownkills++;
+ /* JG HACK */
+ if(player->team != players[plynum].team) {
+ player->stat.kills++;
+ players[plynum].stat.ownkills++;
+
+ /* JG HACK 10/24/96 */
+ if (sm->gamemode & GM_DECSCORE) {
+ /* Decrease score of killed player, if possible. */
+ if (players[plynum].stat.kills > 0)
+ players[plynum].stat.kills--;
+
+ /* Decrease score of killed *team*.... */
+
+ if (sm->teams[players[plynum].team].kills > 0)
+ sm->teams[players[plynum].team].kills--;
+ }
+
+ /* JG HACK 10/24/96 */
+ if (sm->gamemode & GM_REPOWERONKILL) {
+ /* Full power if you kill someone! */
+ player->fitness = sm->config.startfitness;
+ }
+
+ sm->teams[player->team].kills++; /* inc kills */
+
+ }
+
+
+
player->follow = -1;
players[plynum].alive = FALSE; /* make him dead */
players[plynum].fitness = -sm->config.deadtime;/*reincarnate-delay*/
@@ -290,7 +318,7 @@
player->killtable[player->killanz] = plynum;
player->killanz++;
player->killchg = TRUE;
- sm->teams[player->team].kills++; /* inc kills */
+
if(sm->teams[player->team].kills >= sm->config.kills2win) /*enough kills?*/
{
sm->gameflag = FALSE;
@@ -379,9 +407,9 @@
/* Player <-> Wall Collision */
/******************************/
-static void wall_pcoll(long xold,long yold,PLAYER *player)
+static void wall_pcoll(int xold,int yold,PLAYER *player)
{
- long x,y;
+ int x,y;
int xc,yc;
int xflag=-1;
int yflag=-1;
@@ -519,9 +547,9 @@
static int wall_scoll(PLAYER *p,int i)
{
- long x,y;
+ int x,y;
int xc,yc,flag=0;
- long sx,sy;
+ int sx,sy;
sx = p->shots[i].sx;
sy = p->shots[i].sy;
@@ -627,7 +655,7 @@
* wall_scoll-helper (not complete yet)
*/
-static int ball_bounce(PLAYER *p,int i,int xc,int yc,long x,long y)
+static int ball_bounce(PLAYER *p,int i,int xc,int yc,int x,int y)
{
int f = 0,w = 0;
@@ -716,7 +744,7 @@
/* Player <-> Player Collision */
/********************************/
-static void enemy_colision(long xold,long yold,PLAYER *player,PLAYER *players)
+static void enemy_colision(int xold,int yold,PLAYER *player,PLAYER *players)
{
if(enemy_touch(player,players))
{
@@ -728,7 +756,7 @@
static int enemy_touch(PLAYER *player,PLAYER *players)
{
int i;
- long xd,yd;
+ int xd,yd;
for(i=0;ianzplayers;i++,players++)
{
@@ -757,10 +785,10 @@
/* -1: no hit / >= 0: playernr. */
/********************************/
-static int player_hit(int plnr,long sx,long sy,PLAYER *plys)
+static int player_hit(int plnr,int sx,int sy,PLAYER *plys)
{
int i;
- long xd,yd;
+ int xd,yd;
for(i=0;ianzplayers;i++,plys++)
{
@@ -949,7 +977,7 @@
* "Random" from: r.sedgewick/algorithms
*/
-void myrandominit(long s)
+void myrandominit(int s)
{
int j;
sm->rndshiftpos = 10;
@@ -978,9 +1006,9 @@
static void convert_trigtabs(int divider)
{
- long *tab1 = trigtab,*tab2 = walktab,*tab3 = shoottab;
+ int *tab1 = trigtab,*tab2 = walktab,*tab3 = shoottab;
int i;
- long s;
+ int s;
static int t = -1;
if(divider == t) return;
--- netmaze-0.81+jpg0.82.orig/audio.c
+++ netmaze-0.81+jpg0.82/audio.c
@@ -34,7 +34,7 @@
#endif
#ifdef HAVE_FLUSH
- #include
+/* #include */
#endif
#ifdef SS10_AUDIO
@@ -55,8 +55,8 @@
struct sample
{
- long start;
- long len;
+ int start;
+ int len;
char name[20];
};
@@ -184,7 +184,7 @@
FILE *fd;
unsigned char junk[8];
int i,j,a,delay;
- long blen,pos;
+ int blen,pos;
unsigned char c;
delay = play_delay;
@@ -210,10 +210,10 @@
for(i=0;i
#include
+#include
#include "netmaze.h"
#include "better.h"
-#define BIGGEST /* groesster long-wert */
+#define BIGGEST /* groesster int-wert */
#define NERVOUS 50000000 /* ab hier sucht BB sein Opfer */
#define TODESRADIUS1 7000000
#define TODESRADIUS 15000000
@@ -27,7 +28,7 @@
static int enemy_touch(PLAYER *player,PLAYER *opfer){
- long xd,yd;
+ int xd,yd;
xd = (player->x - opfer->x);
yd = (player->y - opfer->y);
@@ -73,18 +74,18 @@
-/* umwandlung von quadranten nach longs und umgekehrt */
+/* umwandlung von quadranten nach ints und umgekehrt */
-int ltoq(long eingabe)
+int ltoq(int eingabe)
{
return (int) ( (eingabe & 0xff000000) >> 24);
}
-long qtol(int eingabe)
+int qtol(int eingabe)
{
- long ausgabe;
+ int ausgabe;
- ausgabe = (long) eingabe;
+ ausgabe = (int) eingabe;
return (eingabe << 24);
}
@@ -99,11 +100,11 @@
sicher nicht besonders schoen, effizient oder gar korrekt ;-) aber es
geht so einigermassen... */
-int k_sichtbar(long x1,long y1,long x2,long y2)
+int k_sichtbar(int x1,int y1,int x2,int y2)
{
int x1q,y1q,x2q,y2q,xqdiff,yqdiff;
int x_count,y_count,vstep,hstep,hstep1,vstep1;
- long xdiff,ydiff,xl_count,yl_count,xl_step,yl_step;
+ int xdiff,ydiff,xl_count,yl_count,xl_step,yl_step;
float xy,yx;
@@ -129,7 +130,7 @@
{
x_count=x1q;
xl_count=x1;
- xl_step= (hstep) * (long) (xy * 0x01000000);
+ xl_step= (hstep) * (int) (xy * 0x01000000);
for(y_count=y1q+((hstep==-1)?1:0);
(hstep==-1)?(y_count<=y2q):(y_count>y2q);
@@ -151,7 +152,7 @@
y_count=y1q;
yl_count=y1;
- yl_step=-(vstep)*(long) (yx * 0x01000000);
+ yl_step=-(vstep)*(int) (yx * 0x01000000);
for(x_count=x1q+((vstep==-1)?1:0);
(vstep==-1)?(x_count<=x2q):(x_count>x2q);
@@ -214,8 +215,8 @@
/* gibt die koordinate des abstandes zum opfer zurueck, die groesser ist */
-long OpferDistanz(int opfer){
- long x_dist, y_dist;
+int OpferDistanz(int opfer){
+ int x_dist, y_dist;
if (opfer == -1) return BIGGEST;
x_dist=labs((sm->playfeld[ownnumber].x)-(sm->playfeld[opfer].x));
y_dist=labs((sm->playfeld[ownnumber].y)-(sm->playfeld[opfer].y));
@@ -229,8 +230,8 @@
/* ermittelt das naechste opfer mit hilfe von OpferDistanz() */
int Opfer(){
- long BestOpfer=-1;
- long WeissesindenAugen=NERVOUS;
+ int BestOpfer=-1;
+ int WeissesindenAugen=NERVOUS;
int i;
if (robodat.freund == -1 ) return robodat.exfreund;
/* schleife ueber alle spieler */
@@ -278,10 +279,10 @@
}
-static long deg(double x,double y){
- long winkel;
+static int deg(double x,double y){
+ int winkel;
if (x){ /* muss Berechnet Werden */
- winkel = (long)(atan(y/x)/(2.0*M_PI) * 265 );
+ winkel = (int)(atan(y/x)/(2.0*M_PI) * 265 );
if (winkel > 0 ){
if (y > 0){
}else{
@@ -304,7 +305,7 @@
return (winkel + 128) % 256 ;
}
-static long target_angle(PLAYER* them){
+static int target_angle(PLAYER* them){
int mx,my;
int tx,ty;
int dx,dy;
@@ -333,9 +334,9 @@
/* testen, was besser ist, rechts oder links fahren */
void angl(int opfer){
- long ownwinkel=sm->playfeld[ownnumber].winkel;
- long angle = target_angle(&(sm->playfeld[opfer]));
- long wonkel;
+ int ownwinkel=sm->playfeld[ownnumber].winkel;
+ int angle = target_angle(&(sm->playfeld[opfer]));
+ int wonkel;
wonkel=angle - ownwinkel;
/* fprintf (stderr,"\neigenwinkel %li winkel zu anderem %li diff %li ",ownwinkel,angle,wonkel);
*/ if ((wonkel)>0){
@@ -358,8 +359,8 @@
int own_action(void){
static touchie=0;
int opfer, winkel, owinkel, hwinkel, lwinkel, alt_opfer;
- long x_dist,y_dist,nx_dist,ny_dist,lx_dist,ly_dist,hx_dist,hy_dist;
- long i;
+ int x_dist,y_dist,nx_dist,ny_dist,lx_dist,ly_dist,hx_dist,hy_dist;
+ int i;
if (!(sm->playfeld[ownnumber].alive)){ /* I'm dead , wooouueeehhhh */
touchie=0;
@@ -408,7 +409,7 @@
fprintf(stderr,"%s : the pig flees! (no touch)\n",sm->ownname);
}else{
/* I seem to be blocked by a wall, but see the victim ->evade a short time*/
- i = (long)(drand48() * 2);
+ i = (int)(drand48() * 2);
switch (i) {
case 0 :
robodat.ret = JOY_RIGHT;
@@ -422,8 +423,8 @@
};
};
}else{
- /* I seem to be blocked by a wall ->evade a long time */
- i = (long)(drand48() * 2);
+ /* I seem to be blocked by a wall ->evade a int time */
+ i = (int)(drand48() * 2);
switch (i) {
case 0 :
robodat.ret = JOY_RIGHT;
@@ -440,7 +441,7 @@
}else
robodat.ausweichen--; /* count down evading */
}else if (!robodat.jagd){ /* no victim , no evade */
- i = (long)(drand48() * 40);
+ i = (int)(drand48() * 40);
touchie=0;
robodat.counter++;
switch(i){
--- netmaze-0.81+jpg0.82.orig/better.h
+++ netmaze-0.81+jpg0.82/better.h
@@ -4,8 +4,8 @@
typedef struct { int ret;
richtung zustand;
int counter;
- long oldx;
- long oldy;
+ int oldx;
+ int oldy;
int ausweichen;
int jagd;
int freund;
--- netmaze-0.81+jpg0.82.orig/config.h
+++ netmaze-0.81+jpg0.82/config.h
@@ -4,13 +4,13 @@
*/
/* #define HPUX 1 */
-#define SunOS4 1
+/* #define SunOS4 1 */
/* #define IRIX 1 */
-/* #define Linux 1 */
+#define Linux 1
/* #define RS6000 1 */ /* look at CREDITS */
/* #define NeXT 1 */ /* look at CREDITS */
-/* #define USE_SOUND 1 */
+#define USE_SOUND 1
/* set the paths, according to your environment: */
#define AUDIOPATH "./lib/netmaze.seq"
@@ -35,6 +35,8 @@
# undef USE_SIGVEC
#endif
+#define USE_IPC
+
#if (Linux)
# define HAVE_FDSET
# define USE_IPC
@@ -44,7 +46,7 @@
# else
# undef HAVE_FDSET
# endif
-# undef USE_IPC
+/* # undef USE_IPC */
#endif
@@ -53,3 +55,4 @@
#endif
+#undef USE_SOUND
\ No newline at end of file
--- netmaze-0.81+jpg0.82.orig/debian/changelog
+++ netmaze-0.81+jpg0.82/debian/changelog
@@ -0,0 +1,170 @@
+netmaze (0.81+jpg0.82-14.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Replace tk8.4 by tk8.5 in dpendencies and call wish8.5 instead of
+ wish8.4 or wish. Closes: #726040.
+ * Fix loading the Tix library.
+
+ -- Sergei Golovan Tue, 29 Oct 2013 10:44:22 +0400
+
+netmaze (0.81+jpg0.82-14) unstable; urgency=low
+
+ * Added build-dep on xutils-dev. Closes: #485213.
+ * Changed build-dep on x-dev to x11proto-core-dev. Closes: #515383.
+
+ -- John Goerzen Thu, 02 Jul 2009 00:02:05 -0500
+
+netmaze (0.81+jpg0.82-13) unstable; urgency=low
+
+ * Ack NMU. Closes: #502657.
+ * Patch from Peter Green to hack -O3 to -O2 on ia64, working around a bug in
+ gcc that was causing FTBFS. Closes: #504087.
+
+ -- John Goerzen Tue, 18 Nov 2008 04:00:42 -0600
+
+netmaze (0.81+jpg0.82-12.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Change long to int to handle 64bit compiles (Closes: #502657).
+
+ -- Kees Cook Sun, 26 Oct 2008 09:33:01 -0700
+
+netmaze (0.81+jpg0.82-12) unstable; urgency=low
+
+ * Ack NMU. Closes: #346967.
+ * Fix path to tix. Closes: #365929.
+ * No longer create /usr/doc symlink. Closes: #359546.
+
+ -- John Goerzen Fri, 5 May 2006 19:19:52 -0500
+
+netmaze (0.81+jpg0.82-11.1) unstable; urgency=low
+
+ * Non-maintainer upload.
+ * Replace build-dependency on xlibs-dev with an explicit build-dependency
+ on each required package. (Closes: #346967)
+
+ -- Steinar H. Gunderson Sat, 21 Jan 2006 12:58:55 +0100
+
+netmaze (0.81+jpg0.82-11) unstable; urgency=low
+
+ * Build-dep is now on tix-dev instead of tix8.1-dev. Closes: #335356.
+
+ -- John Goerzen Fri, 30 Dec 2005 10:22:13 -0600
+
+netmaze (0.81+jpg0.82-10) unstable; urgency=low
+
+ * Server no longer segfaults on connect from clients without a hostname.
+
+ -- John Goerzen Sat, 3 Sep 2005 09:21:38 -0500
+
+netmaze (0.81+jpg0.82-9) unstable; urgency=low
+
+ * Added SHELL=/bin/bash to debian/rules.
+ * Updated depends to use tk8.4. Closes: #180247, #180248.
+
+ -- John Goerzen Fri, 2 Sep 2005 21:58:38 -0500
+
+netmaze (0.81+jpg0.82-8) unstable; urgency=low
+
+ * Built with Tix 8.1. Closes: #158846.
+
+ -- John Goerzen Fri, 30 Aug 2002 18:47:31 -0500
+
+netmaze (0.81+jpg0.82-7) unstable; urgency=low
+
+ * Clarified upstream status in copyright and README.Debian.
+
+ -- John Goerzen Thu, 21 Feb 2002 10:36:41 -0500
+
+netmaze (0.81+jpg0.82-6) unstable; urgency=low
+
+ * Fixed build failure by adding a #define to Imakefile.
+ Closes: #123741.
+ * Updated description with new doc directory. Closes: #108278.
+ * Updated standards-version to 3.5.2.
+
+ -- John Goerzen Tue, 19 Feb 2002 12:17:31 -0500
+
+netmaze (0.81+jpg0.82-5) unstable; urgency=low
+
+ * Clean-up from Magallon's NMU:
+ + Build against proper X libraries. The NMU rendered it uninstallable.
+ Closes: #94503.
+ + ACK. Closes: #94111.
+ + BTS cleanup. Closes: #91612.
+ * Standards-Version already bumped. Closes: #87173.
+
+ -- John Goerzen Mon, 23 Apr 2001 10:23:51 -0500
+
+netmaze (0.81+jpg0.82-4.1) unstable; urgency=low
+
+ * NMU
+ * Move doc to /usr/share (closes: bug#91612)
+ * Fixed some lintian warkings
+
+ -- Marcelo E. Magallon Mon, 16 Apr 2001 01:10:18 +0200
+
+netmaze (0.81+jpg0.82-4) unstable; urgency=low
+
+ * Modified xnetserv.tcl to call wish8.0 explicitly. Closes: #59690.
+ * Added menu entry. Closes: #52281.
+
+ -- John Goerzen Wed, 31 May 2000 12:33:25 -0500
+
+netmaze (0.81+jpg0.82-3) unstable; urgency=low
+
+ * Added people to the credits file.
+ * xnetserv now starts netserv with -nowait.
+ * More patches to avoid warnings and perhaps prevent some bugs.
+
+ -- John Goerzen Tue, 19 Oct 1999 17:10:35 -0500
+
+netmaze (0.81+jpg0.82-2) unstable; urgency=low
+
+ * Make sure to chmod +x xnetserv.tcl.
+ * Start assembling a list of credits for the program.
+
+ -- John Goerzen Mon, 27 Sep 1999 11:02:04 -0500
+
+netmaze (0.81+jpg0.82-1) unstable; urgency=low
+
+ * Integrated patches from John Goerzen to add various features
+ to the program.
+
+ -- John Goerzen Sun, 26 Sep 1999 13:11:20 -0500
+
+netmaze (0.81-3) unstable; urgency=low
+
+ *
+ * Fixed debian/rules, closing bug #16992
+ * Moved netserv to /usr/games as well, since it is a binary that
+ users need to execute directly. Left the bots in
+ /usr/lib/games/netmaze.
+ * Updated README.Debian, which wasn't updated with 0.81-2.2.
+ README.Debian tells users where all the files are installed that they
+ need.
+
+ -- John Goerzen Sun, 22 Feb 1998 12:55:04 -0600
+
+netmaze (0.81-2.2) unstable; urgency=low
+
+ * Non-maintainer release.
+ * Move location of binary to /usr/games. (#8447)
+ * Libc6 compile.
+
+ -- Martin Mitchell Mon, 17 Nov 1997 19:05:34 +1100
+
+netmaze (0.81-2) unstable; urgency=low
+
+ * Fixed location of installed netmaze binary (now is /usr/X11R6/bin)
+
+ -- John Goerzen Fri, 17 Jan 1997 23:49:41 -0600
+
+netmaze (0.81-1) unstable; urgency=low
+
+ * First Debian package of this program
+ * Netmaze may be moving to a new maintainer -- expect a new upstream
+ version soon.
+
+ -- John Goerzen Thu, 02 Jan 1997 22:11:39 -0600
+
--- netmaze-0.81+jpg0.82.orig/debian/control
+++ netmaze-0.81+jpg0.82/debian/control
@@ -0,0 +1,19 @@
+Source: netmaze
+Maintainer: John Goerzen
+Section: games
+Priority: optional
+Standards-Version: 3.5.2
+Build-Depends: sharutils, tix-dev, libx11-dev, libxext-dev, libxt-dev, x11proto-core-dev, xutils, xutils-dev
+
+Package: netmaze
+Architecture: any
+Section: games
+Priority: optional
+Depends: ${shlibs:Depends}, tix, tk8.5
+Description: 3-D Multiplayer Combat Game
+ This is a 3-D multiplayer game for X. You can play by
+ yourself, use computerized players ("bots"), or you can
+ use a TCP/IP network and play against other players.
+ .
+ Be sure to read the documentation that will be
+ installed in /usr/share/doc/netmaze/README.Debian
--- netmaze-0.81+jpg0.82.orig/debian/copyright
+++ netmaze-0.81+jpg0.82/debian/copyright
@@ -0,0 +1,24 @@
+This package was put together by John Goerzen . The
+only major change made was compiling with -O3 instead of -O2. (Makes more
+sense for a program that is very speed-sensitive)
+
+Debian GNU/Linux users can find the GNU General Public License in the file
+/usr/share/common-licenses/GPL
+
+Original code is (C) M. Hipp. New code is (C) by respective others; mostly
+John Goerzen.
+
+--------------------------------------------------------------------
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 2 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+--------------------------------------------------------------------
+
--- netmaze-0.81+jpg0.82.orig/debian/menu
+++ netmaze-0.81+jpg0.82/debian/menu
@@ -0,0 +1,4 @@
+?package(netmaze):needs=X11 section=Games/Arcade\
+ title="Netmaze Client" command="/usr/games/netmaze"
+?package(netmaze):needs=X11 section=Games/Arcade\
+ title="Netmaze X Netserv" command="/usr/games/netmaze/netserv"
--- netmaze-0.81+jpg0.82.orig/debian/postinst
+++ netmaze-0.81+jpg0.82/debian/postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+pkg=netmaze
+
+if [ -x /usr/bin/update-menus ] ; then update-menus ; fi
--- netmaze-0.81+jpg0.82.orig/debian/postrm
+++ netmaze-0.81+jpg0.82/debian/postrm
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+set -e
+
+if [ -x /usr/bin/update-menus ] ; then update-menus ; fi
--- netmaze-0.81+jpg0.82.orig/debian/prerm
+++ netmaze-0.81+jpg0.82/debian/prerm
@@ -0,0 +1,9 @@
+#!/bin/sh
+
+set -e
+
+pkg=netmaze
+
+if [ \( "$1" = "upgrade" -o "$1" = "remove" \) -a -L /usr/doc/$pkg ]; then
+ rm -f /usr/doc/$pkg
+fi
--- netmaze-0.81+jpg0.82.orig/debian/rules
+++ netmaze-0.81+jpg0.82/debian/rules
@@ -0,0 +1,75 @@
+#!/usr/bin/make -f
+
+# Debian Package Building Makefile
+
+# Package maintainer: John Goerzen
+
+# Configuration and compilation
+
+PACKAGENAME=netmaze
+BASE=debian/tmp
+BINARIES=$(PACKAGENAME)
+AUXBINARIES=netserv betterbot dummy follower
+LIBDIR=$(BASE)/usr/lib/games/$(PACKAGENAME)
+STRIP=strip
+SHELL=/bin/bash
+
+# use -02 on ia64 to avoid a ftbfs
+DEB_BUILD_ARCH_CPU ?=$(shell dpkg-architecture -qDEB_BUILD_ARCH_CPU)
+ifeq ($(DEB_BUILD_ARCH_CPU),ia64)
+ OPTLEVEL=-O2
+else
+ OPTLEVEL=-O3
+endif
+
+
+build:
+ xmkmf
+# Force compilation using the desired optimisation level....
+ cp Makefile Makefile~
+ sed s/-O2/$(OPTLEVEL)/ Makefile~ > Makefile
+ make
+ touch build
+
+binary: binary-arch binary-indep
+
+binary-indep: build
+
+# This one needs to be root.
+
+binary-arch: build
+ rm -rf debian/tmp
+ install -d debian/tmp debian/tmp/DEBIAN debian/tmp/usr/games \
+ debian/tmp/usr/share/doc/$(PACKAGENAME) debian/tmp/usr/lib/menu \
+ $(LIBDIR)
+# Netmaze goes into bin, everything else to the lib dir.
+ install -s -o root -g root -m 0755 $(BINARIES) debian/tmp/usr/games
+ install -o root -g root -m 0755 xnetserv debian/tmp/usr/games
+ install -s -o root -g root -m 0755 $(AUXBINARIES) $(LIBDIR)/
+ cp -r mazes lib *.tcl $(LIBDIR)
+ chmod 0755 $(LIBDIR)/{mazes,lib,*.tcl}
+ uudecode nmlogo.gif.uue
+ cp nmlogo.gif $(LIBDIR)
+ cp debian/changelog debian/tmp/usr/share/doc/$(PACKAGENAME)/changelog.Debian
+ cp README.Debian CREDITS README TODO debian/tmp/usr/share/doc/$(PACKAGENAME)
+ cp CHANGES debian/tmp/usr/share/doc/$(PACKAGENAME)/changelog
+ gzip -9vr debian/tmp/usr/share/doc/$(PACKAGENAME)
+ cp debian/copyright debian/tmp/usr/share/doc/$(PACKAGENAME)/copyright
+ cp debian/menu debian/tmp/usr/lib/menu/netmaze
+ dpkg-shlibdeps debian/tmp/usr/games/netmaze \
+ $(LIBDIR)/{netserv,betterbot,follower,dummy}
+ install -o root -g root -m 755 debian/prerm debian/tmp/DEBIAN/
+ install -o root -g root -m 755 debian/postinst debian/tmp/DEBIAN/
+ install -o root -g root -m 755 debian/postrm debian/tmp/DEBIAN/
+ dpkg-gencontrol -isp
+ chown -R root.root debian/tmp
+ chmod -R go-ws,go+r debian/tmp
+ dpkg --build debian/tmp ..
+
+clean:
+ -make clean
+ -rm -rf build debian/tmp debian/files debian/substvars debian/*~ \
+ *.o *~ Makefile *.bak
+ -rm nmlogo.gif
+
+.PHONY: clean binary binary-indep binary-arch
--- netmaze-0.81+jpg0.82.orig/draw_3d.c
+++ netmaze-0.81+jpg0.82/draw_3d.c
@@ -9,12 +9,13 @@
#include
#include
#include
+#include
#include "trigtab.h"
#include "netmaze.h"
extern struct shared_struct *sm;
-static int wall_3d(long,long,long,long,int,WALL*);
+static int wall_3d(int,int,int,int,int,WALL*);
static void sort_walls(WALL*,int);
static int comp(WALL*,WALL*);
static int clip_walls(WALL*,int);
@@ -75,7 +76,7 @@
if(sm->mapdraw)
draw_rmap(sm->playfeld1,sm->maplines,sm->anzlines);
#ifdef ALL_PERFORMANCE_TEST
- { long a=clock();
+ { int a=clock();
#endif
if(!sm->texturemode)
draw_maze(wallbuff,sm->playfeld1,anz,sm->shownumber); /* <-does XSync()*/
@@ -253,15 +254,15 @@
static int calc_walls(PLAYER *players,WALL *walls,MAZE *maze,int anzahl)
{
- long xpos,ypos;
+ int xpos,ypos;
int xloop,yloop,xfield,yfield,tnr;
int xdim,ydim,xdist,ydist,istart,jstart,iend,jend;
int winkel;
- long xrot,yrot,x1rot,y1rot,tsin,tcos;
+ int xrot,yrot,x1rot,y1rot,tsin,tcos;
double xdrot,ydrot,dsin,dcos /* xd1rot,yd1rot */ ;
int i,j,p;
int (*hwalls)[MAZEDIMENSION],(*vwalls)[MAZEDIMENSION];
- long xd,yd,xd1;
+ int xd,yd,xd1;
PLAYER *player;
player = players+sm->shownumber;
@@ -310,14 +311,14 @@
iend = yloop+istart;
jend = xloop+jstart;
- xdrot = (double) (xd1 = ((long)(-xdist)<<24) - (xpos & 0x00ffffff));
- ydrot = (double) (yd = ((long)(-ydist)<<24) - (ypos & 0x00ffffff));
+ xdrot = (double) (xd1 = ((int)(-xdist)<<24) - (xpos & 0x00ffffff));
+ ydrot = (double) (yd = ((int)(-ydist)<<24) - (ypos & 0x00ffffff));
/*
xd1rot = xdrot*dcos - ydrot*dsin;
yd1rot = ydrot*dcos + xdrot*dsin;
*/
- x1rot = xrot = (long) ( (xdrot*dcos - ydrot*dsin) / 0x1000000 );
- y1rot = yrot = (long) ( (ydrot*dcos + xdrot*dsin) / 0x1000000 );
+ x1rot = xrot = (int) ( (xdrot*dcos - ydrot*dsin) / 0x1000000 );
+ y1rot = yrot = (int) ( (ydrot*dcos + xdrot*dsin) / 0x1000000 );
sm->marks=0;
@@ -409,7 +410,7 @@
static int calc_players(int number,WALL *walls,PLAYER *players,int anz)
{
int i,wink;
- long x,y,xd,yd,rmax,rmin,hor1,h1;
+ int x,y,xd,yd,rmax,rmin,hor1,h1;
double xdrot,ydrot,dsin,dcos;
x = players[number].x;
@@ -429,9 +430,9 @@
walls[anz].xd = ((xd>0) ? xd : -xd);
walls[anz].yd = ((yd>0) ? yd : -yd);
- if( (yd = (long) ((ydrot*dcos + xdrot*dsin) / 0x1000000) >>16) > 0)
+ if( (yd = (int) ((ydrot*dcos + xdrot*dsin) / 0x1000000) >>16) > 0)
{
- xd = (long) ((xdrot*dcos - ydrot*dsin) / 0x1000000) >>16;
+ xd = (int) ((xdrot*dcos - ydrot*dsin) / 0x1000000) >>16;
if(xd > 0)
{
@@ -469,7 +470,7 @@
static int calc_shoots(int number,WALL *walls,PLAYER *players,int anz)
{
int i,j,wink;
- long x,y,xd,yd,rmax,rmin,h1;
+ int x,y,xd,yd,rmax,rmin,h1;
double xdrot,ydrot,dsin,dcos;
x = players[number].x;
@@ -488,9 +489,9 @@
walls[anz].xd = ((xd>0) ? xd : -xd);
walls[anz].yd = ((yd>0) ? yd : -yd);
- if( (yd = (long) ((ydrot*dcos + xdrot*dsin) / 0x1000000) >>16) > 0)
+ if( (yd = (int) ((ydrot*dcos + xdrot*dsin) / 0x1000000) >>16) > 0)
{
- if( (xd = (long) ((xdrot*dcos - ydrot*dsin) / 0x1000000) >> 16) > 0)
+ if( (xd = (int) ((xdrot*dcos - ydrot*dsin) / 0x1000000) >> 16) > 0)
{
rmax = ((xd+PRADIUS)*(xd+PRADIUS) + (yd+PRADIUS)*(yd+PRADIUS))<<2;
rmin = ((xd-PRADIUS)*(xd-PRADIUS) + (yd-PRADIUS)*(yd-PRADIUS))<<2;
@@ -520,9 +521,9 @@
return anz;
}
-static int wall_3d(long x1,long y1,long x2,long y2,int ident,WALL *wall)
+static int wall_3d(int x1,int y1,int x2,int y2,int ident,WALL *wall)
{
- long rmax,rmin,x,r,h1,h2;
+ int rmax,rmin,x,r,h1,h2;
x1 >>= 16; x2 >>= 16; y1 >>= 16; y2 >>= 16;
@@ -634,7 +635,7 @@
static int stest(WALL *w1,WALL *w2)
{
- long d;
+ int d;
int xr1,xl1,xr2,xl2;
if(w1->ident < 0x100)
--- netmaze-0.81+jpg0.82.orig/dummy.c
+++ netmaze-0.81+jpg0.82/dummy.c
@@ -2,6 +2,7 @@
* How about a competition between some robots? :-)
*/
+#include
#include "netmaze.h"
extern struct shared_struct *sm;
--- netmaze-0.81+jpg0.82.orig/follower.c
+++ netmaze-0.81+jpg0.82/follower.c
@@ -3,6 +3,7 @@
* written and copyrights: roderick@ksu.ksu.edu (Mike Roderick)
*/
+#include
#include "netmaze.h"
#include
--- netmaze-0.81+jpg0.82.orig/iocntl.c
+++ netmaze-0.81+jpg0.82/iocntl.c
@@ -16,8 +16,8 @@
#include
#ifdef HAVE_FDSET
- struct fd_set readmask;
- struct fd_set writemask;
+ fd_set readmask;
+ fd_set writemask;
#else
struct fd_mask readmask;
struct fd_mask writemask;
@@ -144,8 +144,8 @@
static char buf[256];
#ifdef HAVE_FDSET
- struct fd_set readmask1;
- struct fd_set writemask1;
+ fd_set readmask1;
+ fd_set writemask1;
#else
struct fd_mask readmask1;
struct fd_mask writemask1;
--- netmaze-0.81+jpg0.82.orig/mazes/bigempty.maz
+++ netmaze-0.81+jpg0.82/mazes/bigempty.maz
@@ -0,0 +1,46 @@
+44
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+X...........................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
\ No newline at end of file
--- netmaze-0.81+jpg0.82.orig/mazes/dbltrble.maz
+++ netmaze-0.81+jpg0.82/mazes/dbltrble.maz
@@ -0,0 +1,22 @@
+20
+XXXXXXXXXXXXXXXXXXXXX
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+XXXXXXXXXXXXXXXXXXXXX
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+X...................X
+XXXXXXXXXXXXXXXXXXXXX
\ No newline at end of file
--- netmaze-0.81+jpg0.82.orig/mazes/empty_22.maz
+++ netmaze-0.81+jpg0.82/mazes/empty_22.maz
@@ -0,0 +1,24 @@
+23
+***********************
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+*.....................*
+***********************
--- netmaze-0.81+jpg0.82.orig/mazes/halomir.maz
+++ netmaze-0.81+jpg0.82/mazes/halomir.maz
@@ -0,0 +1,22 @@
+20
+XXXXXXXXXXXXXXXXXXXXX
+X.X...X...X...X...X.X
+X.X.X.X.X.X.X.X.X.X.X
+X...X...X...X...X...X
+X.X.X.X.X.X.X.X.X.X.X
+X.X...X...X...X...X.X
+X.X.X.X.X.X.X.X.X.X.X
+X...X...X...X...X...X
+X.X.X.X.X.X.X.X.X.X.X
+X.X...X...X...X...X.X
+X.X.X.X.X.X.X.X.X.X.X
+X...X...X...X...X...X
+X.X.X.X.X.X.X.X.X.X.X
+X.X...X...X...X...X.X
+X.X.X.X.X.X.X.X.X.X.X
+X...X...X...X...X...X
+X.X.X.X.X.X.X.X.X.X.X
+X.X...X...X...X...X.X
+X.X.X.X.X.X.X.X.X.X.X
+X...X...X...X...X...X
+XXXXXXXXXXXXXXXXXXXXX
\ No newline at end of file
--- netmaze-0.81+jpg0.82.orig/mazes/indy500.maz
+++ netmaze-0.81+jpg0.82/mazes/indy500.maz
@@ -0,0 +1,26 @@
+24
+XXXXXXXXXXXXXXXXXXXXXXXXX
+X.......................X
+X.......................X
+X.......................X
+X...XXXXXXXXXXXXXXXXX...X
+X.......X.......X.......X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...............X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X...X...X.......X...X...X
+X.......X.......X.......X
+X...XXXXXXXXXXXXXXXXX...X
+X.......................X
+X.......................X
+X.......................X
+XXXXXXXXXXXXXXXXXXXXXXXXX
\ No newline at end of file
--- netmaze-0.81+jpg0.82.orig/mazes/newmaze.maz
+++ netmaze-0.81+jpg0.82/mazes/newmaze.maz
@@ -0,0 +1,26 @@
+24
+XXXXXXXXXXXXXXXXXXXXXXXXX
+X.......................X
+X.XXXXX...X.X...XXX.X.X.X
+X.X.......X.X...X...X.X.X
+X.X.X.X.X.X.XXX.X.XXX.X.X
+X...X.X.X.....X...X...X.X
+X...X.X.X.X...X.XXX.XXX.X
+X.......X.X.....X...X...X
+X.XXX.XXX.X.XXXXX.X.X.X.X
+X...X.....X...X...X.X.X.X
+X...XXX...X...X.XXX.X.X.X
+X.......................X
+X...X...X.XXX...XXX.XXX.X
+X...X...X...............X
+X.XXXXX.X...X.XXXXXXXXX.X
+X.....X.X...X...........X
+X...X.X.X...X.XXX...X.X.X
+X...X.......X...X...X.X.X
+X.XXXXX.X...X...X...X.X.X
+X.....X.X...........X...X
+X.XXX.X.X.XXX.XXX.X.X.X.X
+X...X...X.X.....X.X...X.X
+X...XXX.X.X.XXX.X.XXXXX.X
+X.......................X
+XXXXXXXXXXXXXXXXXXXXXXXXX
\ No newline at end of file
--- netmaze-0.81+jpg0.82.orig/mazes/rnd1_38.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd1_38.maz
@@ -0,0 +1,40 @@
+38
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.......X...X...........X.....X.......X
+X.XXXXX.X.X.X.X.XXXXX.X.X.XXX.X.XXXXX.X
+X.X...X...X...X.....X.X.....X.......X.X
+X.X.X.X.XXX.XXX.X.X.X.X.XXX.XXXXXXX.X.X
+X.X.X...........X.X...X.............X.X
+X.X.X.XXX.X.XXXXX.X.XXX.X.XXXXX.XXX.X.X
+X...X.X...X.X.....X.X...X.....X.X...X.X
+X.X.X.X.X.X.X.XXXXX.X.XXXXX.X.X.X.X.X.X
+X.X.....X.X.........X.......X.....X...X
+X.X.XXXXX.X.XXX.XXX.XXX.XXX.X.XXX.XXX.X
+X...X.......X.....X.....X...X.X.....X.X
+X.X.X.X.XXX.X.XXX.XXX.X.X.X.X.X.X.X.X.X
+X.X.X.X.....X...X.X...X.X.X.X...X.X.X.X
+X.X.X.XXX.XXX.X.X.X.XXX.X.X.XXX.X.X.X.X
+X.X...X.....X.X...X.X...X.X...X...X.X.X
+X.X.XXX.X.X.X.XXX.X.X.XXX.XXX.X.XXX.X.X
+X.X.....X.X.X...............X...X.....X
+X.XXX.X.X.X.X.X.XXXXXXXXX.X.X.XXX.XXX.X
+X.X...X.....X.X...X.....X.X.X.X...X...X
+X.X.XXX.XXX.X.X.X.X.XXX.X.X.X.X.XXX.X.X
+X.........X.X...X.X.X...........X...X.X
+XXX.XXXXX.X.XXX.X.X.X.XXXXX.X.XXX.X.X.X
+X...X.....X.....X...X.X.....X.....X...X
+X.X.X.XXX.X.XXXXX.XXX.X.XXX.XXX.X.XXX.X
+X.X.......X.X.........X.........X...X.X
+X.XXXXXXX.X.X.X.XXX.XXX.XXXXX.XXX.X.X.X
+X.......X.X.X.X.X.......X.........X...X
+X.XXXXX.X.X.X.X.X.XXXXXXX...XXX.X.XXX.X
+X...X...X.X...X.......X.....X...X.....X
+XXX.X.X.X.X.XXX.XXX.XXX.X.XXX.XXXXXXX.X
+X.....X.....X.....X.....X.........X...X
+X.X.XXXXX.XXX.XXX.X.XXX.XXXXX.XXX.X.X.X
+X.X.......X.....X...X...X...X...X...X.X
+X.X.XXX.X.X.XXX.X.XXX.XXX.X.XXX.XXX.X.X
+X.X.X...X...X.............X...........X
+X.X.X.X.XXXXX.XXX.XXX.X.XXX.XXXXX.XXX.X
+X.....X...............X...............X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd1_40.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd1_40.maz
@@ -0,0 +1,42 @@
+40
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........X.......X...................X
+X.XXX.XXXXX.X.X.XXX.X.XXX.XXXXXXX.XXXXX.X
+X.X...........X...X...X...........X...X.X
+X.X.XXX.X.X.X.XXX.XXX.X.X.XXXXX...X.X.X.X
+X.....X.X.X.X...X.....X.X.....X...X.X.X.X
+X.XXX.X.X.X.X.X.XXXXX.X.X.XXX.X.X.X.X.X.X
+X.X.....X.X...X.............X...X...X...X
+X.X.XXX.X.X.XXX.X.XXXXX.XXX.XXX.X.XXX.X.X
+X.....X.X.X.....X.X...X...X.....X.....X.X
+XXXXX.X.X.XXX.XXX.X.X.X.X.XXXXX.XXX.XXX.X
+X...............X...X...X...........X...X
+X.X.X.XXX.XXX.X.XXX.XXX.X.XXX.XXX.XXX.X.X
+X.X.X.X.....X.X...X.....X...X.........X.X
+X.X.X.X.XXX.X.X.X.X.XXX.X.X.X.XXX.XXXXX.X
+X.....X.X...X...X.X.....X.X.X.X.....X...X
+X.XXXXX.X.X.X.X.X.X.XXX.X.X.X.X.X.X.X.XXX
+X.X.......X.X.X.X.X.......X.X.X.X.X.....X
+X.X.XXX.XXX.X.X.X.X.XXX.XXX.X.X.X.XXXXX.X
+X.......X.....X.........X.....X.........X
+X.XXX.X.X.X.XXX.XXX.XXX.X.X.X.XXX.X.XXX.X
+X.X...X.X.X.X...X.......X.X.X...X.X...X.X
+X.X.XXX.X.X.X.X.X.XXXXX.X.X.XXX.X.XXX.X.X
+X.X.......X...X...X.......X.............X
+X.X.XXXXX.XXX.X.XXX.XXX.XXXXX.XXXXXXXXX.X
+X.X.....X.....X.......X...............X.X
+X.XXX.X.XXXXX.X.XXXXX.X.XXX.XXXXX.XXX.X.X
+X.....X.....X.X.....X.................X.X
+X.X.XXX.X.X.X.XXX.X.XXX.X.XXX.X.XXXXX.X.X
+X.X.....X.X.....X.X.....X.X...X.........X
+X.X.XXXXX.XXXXX.XXX.XXX.X.X.X.XXX.XXX.X.X
+X.X.................X.....X.X.X.......X.X
+X.XXXXXXX.X.X.X.XXXXX.X.XXX.X.X.XXXXX.X.X
+X.......X.X.X.X.......X.X...X.X.....X.X.X
+X.XXXXX.X.X.X.XXX.XXXXX.X.X.X.X.XXX.X.X.X
+X.X...X...X.......X...X...X.X...X.....X.X
+X.X.X.X.XXX.XXXXX.X.X.X.X.X.XXX.X.XXX.X.X
+X.X.X.......X.......X...X.X...X.......X.X
+X.X.X.XXX.XXX.X.XXXXX.XXX.X.X.XXX.X.XXX.X
+X.............X.............X.....X.....X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd1_42.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd1_42.maz
@@ -0,0 +1,44 @@
+42
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........X.....X.............X...X.....X
+X.XXXXX.XXX.X.X.X.X.XXXXX.XXXXX.X.X.X.XXX.X
+X.X...X.X.....X.X.X...........X.X.X...X...X
+X.X.X.X.X.XXX.X.X.XXX.XXX.X.X.X.X.X.XXX.XXX
+X.X.X.....X.......X.......X.X.....X.X.....X
+X.X.X.XXXXX.XXX.XXX.X.XXX.X.XXXXX.X.X.XXX.X
+X...X.X.X...........X...........X.......X.X
+X.XXX.X.X.X.XXXXX.X.XXX.XXXXXXX.X.XXXXX.X.X
+X.....X...X...X...X...X.X...............X.X
+XXX.X.XXX.X.X.X.X.XXX.X.X.XXXXX.X.XXX.XXX.X
+X...X.X.....X...X.......X.....X.X.....X...X
+X.XXX.X.XXXXXXX.XXX.XXX.X.X.X.X.X.XXX.X.X.X
+X.X.....X.........X.X...X.X.X.X.X...X.X.X.X
+X.X.XXXXX.XXX.XXX.X.X.XXX.X.X.X.XXX.X.X.X.X
+X.X.............X...X.........X.........X.X
+X.X.XXXXX.XXXXX.X.XXX.XXXXX.X.X.XXXXXXX.X.X
+X.X.X.......X.....X.........X...X.......X.X
+X.X.X.XXXXX.X.XXX.X.XXX.XXX.X.XXX.XXX.X.X.X
+X...........X.X...X.X.......X.X...X...X.X.X
+X.X.X.XXXXX.X.X.X.X.X.XXXXX.X.X.XXX.XXX.X.X
+X.X.X.X...X.X.X.X.........X.......X.......X
+X.X.X.X.X.X.X.X.X.XXXXX.X.XXX.XXX.XXX.XXX.X
+X.X.X.X.X...X.X.........X...X...........X.X
+X.X.X.X.X.XXX.XXXXX.X.XXXXX.XXXXX.X.XXX.X.X
+X.......X...........X.............X.......X
+XXX.X.XXX.XXX.X.XXX.X.XXXXX.XXXXX.X.X.XXXXX
+X...X.......X.X.X.........X.....X...X.X...X
+X.XXX.X.XXX.X.X.X.X.X.XXX.XXXXX.XXXXX.X.X.X
+X.....X...X.X.X...X.X.......X.........X.X.X
+X.X.XXX.X.X.X.X.X.X.X.XXXXX.X.XXXXX.XXX.X.X
+X.X.X...X.X.X...X.X...X...........X.X.....X
+X.X.X.X.X.X.XXX.X.X.XXX.XXXXXXX.X.X.X.XXX.X
+X...X.X.X.X.....X...X.........X.X.........X
+XXX.X.X.X.X.XXX.XXX.X.XXXXXXX.X.XXX.X.XXX.X
+X.......X...X.....X.X.X.......X.....X.X...X
+X.X.XXX.XXX.X.XXX.X.X.X.XXX.X.X.XXX.X.X.XXX
+X.X...X.........X.........X.X.X.X.....X...X
+X.X.X.XXXXXXX.X.XXX.XXXXX.X.X.X.X.X.XXXXX.X
+X...X.........X.....X.....X.....X.X.....X.X
+X.XXX.XXXXXXXXX.X.XXX.X.XXX.XXXXX.XXX.X.X.X
+X...............X.....X...............X...X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd1_62.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd1_62.maz
@@ -0,0 +1,64 @@
+62
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.....X...............................X.......................X
+X.X.X.X.X.XXXXXXXXX.XXX.XXX.XXXXX.XXX.X.XXXXX.XXXXXXX.XXXXX.X.X
+X.X.X...X.X.............X...X...X...X.X.X...X.X.....X.....X.X.X
+X.X.XXXXX.X.XXX.XXX.XXXXX.X.X.X.XXX.X.X.X.X.X.X.XXX.XXX.X.X.X.X
+X.X.X.........X...........X.X.X.X...X...X.X...X...X.....X...X.X
+X.X.X.XXXXXXX.X.XXXXX.XXXXX.X.X.X.XXX.XXX.XXX.XXX.XXX.XXXXX.X.X
+X.X...X.....X.X.X.....X...X.X...X.....X...X.......X.......X.X.X
+X.XXXXX.XXX.X.X.X.XXXXX.X.X.XXX.XXX.XXX.X.X.X.XXX.X.XXXXX.X.X.X
+X...X...X...X.X...X.....X.X...X...X.X...X...X...X.........X...X
+X.X.X.XXX.XXX.XXXXX.XXXXX.X.X.XXX.X.X.XXXXX.XXX.XXXXXXX.XXX.X.X
+X.X...X...X.........X...X...X...X...X.X.....X...............X.X
+X.XXX.X.XXX.X.XXXXXXX.X.XXXXX.X.XXXXX.X.XXX.X.XXX.XXXXXXXXX.X.X
+X...X.X.....X.........X.......X.......X...X.X.....X.......X.X.X
+X.X.X.XXXXXXXXX.X.XXXXX.XXXXXXX.XXX.XXX.X.X.XXX.XXX.X.XXX.X.X.X
+X.X.X.........X.X.....X.........X...X...X.X.....X...X.X...X...X
+X.X.X.XXXXXXX.X.XXX.X.XXX.XXXXXXX.XXX.X.X.XXX.X.X.X.X.X.X.X.X.X
+X.X...X.....X...X...X.X...........X...X.X...X.X.X.X.....X...X.X
+X.X.XXX.XXX.XXXXX.XXX.X.XXX.XXX.XXX.XXX.XXX.X.X.X.XXX.X.XXX.X.X
+X...X...X.................X.....X...X.......X...X...X.X.....X.X
+X.XXX.XXX.XXXXX.XXX.XXXXX.XXX.XXX.XXX.XXXXX.X.X.X.X.X.XXX.X.X.X
+X.X.....X.X...X...X.X.......X.X...............X.X.X.....X.X.X.X
+X.X.XXX.X.X.X.XXX.X.X.XXXXX.X.X.X.XXXXXXXXX.XXX.X.X.XXX.X.X.X.X
+X.X...X...X.X...X.X.X.......X.X.X.X.....X.......X...X.....X.X.X
+X.XXX.XXXXX.XXX.X.X.XXXXXXXXX.X.X.X.XXX.X.XXXXX.XXX.X.X.XXX.X.X
+X...X.......X...X.X.X.........X...X...X.......X...X...X.....X.X
+X.X.XXXXXXX.X.X.X.X.X.XXXXXXX.XXXXX.X.XXXXXXX.X.X.X.XXXXX.XXX.X
+X.X.......X...X...X...X.....X.......X.X.....X...X.X.......X...X
+X.X.XXXXX.XXX.XXX.XXX.X.XXX.XXX.X.XXX.X.XXX.X.XXX.XXXXXXXXX.XXX
+X...X...X...X...........X.....X.X...X...X.....X...............X
+XXXXX.X.XXX.XXXXX.XXX.XXX.XXX.X.XXX.XXXXX.XXX.X.XXXXXXX.XXX.X.X
+X.....X...X.....X.....X.....X.X.............X.........X.X...X.X
+X.XXX.XXX.X.XXX.XXXXX.X.X.X.X.XXX.XXX.XXXXX.XXX.XXXXX.X.X.X.X.X
+X...X.....X.X.......X...X.X.X...X...X.........X.....X.X...X.X.X
+X.X.X.XXX.X.X.X.XXX.X.X.X.X.XXX.XXX.X.XXXXXXX.XXXXX.X.X.XXX.X.X
+X.X.X.....X.X.X.....X.X...X.......X...X.....X...X...X.X.......X
+X.X.X.XXXXX.X.XXXXX.X.X.XXX.XXXXX.X.X.X.XXX.XXX.X.XXX.X.XXX.XXX
+X.X...X...X.X.X...X.X...X.....X...X.X.X.X.....X...X...X.X.....X
+X.XXX.X.X.X.X.X.X.X.XXX.X.XXX.X.X.X.X.X.X.XXX.X.XXX.XXX.X.X.X.X
+X...X.X.X...X...X.X...X.X...X...X.X...X.X.....X.X...X.....X.X.X
+XXX.X.X.XXX.X.XXX.X.X.X.XXX.XXX.X.XXX.X.XXXXXXX.X.X.X.X.XXX.X.X
+X...X.X...X...X...X.X.X.......X.....X.X.........X.X...X.....X.X
+X.XXX.XXX.XXXXX.X.X.X.XXXXXXX.XXX.X.X.X.XXXXXXXXX.XXX.XXX.XXX.X
+X.......X.......X.X.........X.....X...X.X.........X...X.......X
+X.XXXXX.XXXXXXXXX.XXXXX.XXX.X.X.XXXXX.X.X.XXX.XXX.X.XXX.XXXXX.X
+X...X...........X.....X.......X.......X.X.X...X...X.........X.X
+X.X.X.XXXXXXX.X.XXXXX.XXXXX.XXXXXXX.XXX.X.X.X.X.XXX.XXXXXXX.X.X
+X.X...X.......X.....X.....X.......X...X.X...X.X.X...X.....X...X
+X.XXXXX.XXX.XXXXXXX.XXX.X.XXXXXXX.XXX.X.X.XXXXX.X.XXX.XXX.XXX.X
+X.........X.......X...X.X.......X...X...X.......X.X.....X...X.X
+X.XXX.XXX.XXXXX.X.X.X.X.XXXXX.X.XXX.XXXXX.XXX.XXX.X...X.X.X.X.X
+X...............X...X...X.....X...X.........X.X.......X...X.X.X
+X.X.XXXXX.XXX.XXX.X.XXXXX.X.XXXXX.X.XXXXXXX.X.X.XXXXXXX.XXX.X.X
+X.X.X...X.........X.X.....X.........X.....X...X.X...........X.X
+X.X.X.X.XXXXXXX.XXX.X.X.XXX.X.XXX.XXX.XXX.XXXXX.X.XXXXXXXXX.X.X
+X.....X.......X.....X.X.....X.....X.....X.......X.........X.X.X
+X.XXX.XXXXXXX.XXXXXXX.XXXXX.XXX.XXX.XXX.XXXXX.X.XXX.X.XXX.X.X.X
+X.X...X.........................X.......X...X.X.....X.......X.X
+X.X.XXX.XXXXX.XXX.XXXXXXXXXXXXXXX.XXXXX.X.X.X.XXX.XXX.XXX.XXX.X
+X.X.....X...X.....X...................X...X.X.....X...X.......X
+X.XXXXXXX.X.XXXXXXX.XXXXXXXXXXX.XXX.X.XXX.X.XXXXXXX.XXX.XXXXX.X
+X.........X.........................X.....X...................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd2_40.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd2_40.maz
@@ -0,0 +1,42 @@
+40
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.......................................X
+X.X.XXX.XXX.XXXXX.XXX.XXX.XXXXX...XXXXX.X
+X.X.....X...X...X.X...X.......X.......X.X
+X.X.XXX.X.XXX.X.X.X...X.X...X.XXX.XXX.X.X
+X.X...........X...X.....X...X.......X...X
+X.XXXXX.X.XXXXX.XXX.X.X.X.XXX.XXX.X.XXX.X
+X.......X.X.........X.X...X...X...X...X.X
+X.XXX.XXX.X...XXX.X.X.XXXXX.X.X.XXX...X.X
+X.....X...X...X...X.X.......X...X.......X
+X.XXX.X.XXX.XXX.X.X.X.XXXXX.XXXXX.X.XXX.X
+X...X...........X.X...X...........X.....X
+X...XXXXXXX.XXX.X.X.XXX.XXX.XXX...XXXXX.X
+X...........X...X.........X.............X
+X.X.XXX.X.XXX.X.XXXXX.X...X.XXX.XXXXX.X.X
+X.X.....X.....X.....X.X.........X...X.X.X
+X.XXX...XXX.X.X.XXX.X.XXX.XXX.X.X...X.X.X
+X...X.......X...X.............X.......X.X
+X.X.XXXXX.X.XXX.X.X.XXXXX.X.XXX...X.XXX.X
+X.X.......X...X...X.X.....X.X.....X.X...X
+X.XXXXX.XXXXX.XXX.X.X.X...X.X.X.X.X.X.X.X
+X...............X.....X.......X.X.X...X.X
+X.X.X.XXXXXXXXX.XXX.XXX.X.XXXXX.X.XXX.X.X
+X.X.X.........X.........X.X.....X...X...X
+X.X.XXX.XXXXX.XXX.XXX.XXX.X.X...X...XXX.X
+X.X...X.......X.....X...X.X.X...........X
+X.XXX.X.XXX.XXX.XXX.XXX.X.X.X.XXXXX.XXX.X
+X.........X.....X.....X.X...X.X.........X
+X.XXXXX.X.X.XXX.X.XXX.X.XXX.X.X...XXXXX.X
+X.X.....X.X.....X.....X.................X
+X.X.XXX.X.X.XXX.X.XXX.X...XXX.X.X...XXX.X
+X.X.....X...X...X...........X.X.X.....X.X
+X.X.X.XXX.X.X...X.XXXXXXX...X.X.X.X.X.X.X
+X.X.X.X...X.......X.........X.X...X.X.X.X
+X.X.X.X.X.XXX.XXXXX.XXX.X.X.X.X.X.X.X.X.X
+X...X.X.X.............X.X.X.X...X.......X
+X.XXX.X.X.XXXXX.X...X.X.X.X.XXX.X.X.XXX.X
+X.X...X.......X.X...X.....X.....X.X.X...X
+X.X...X.XXXXX.X.XXX.XXXXX.XXX.XXX.X.X...X
+X.......................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd2_62.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd2_62.maz
@@ -0,0 +1,64 @@
+62
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.............................................................X
+X.X.XXX...XXXXXXX.XXXXXXX.X.XXX...XXXXX.X.XXXXXXXXX...XXXXXXX.X
+X.X...X...X.....X.X.......X...X.......X.X.X.......X...X.....X.X
+X.X...X.XXX.XXX.X.X...XXXXX...XXXXX...X.X.X...XXX.XXX.X.XXX.X.X
+X.X...X.X.....X...X...X...........X...X.X.X...X.....X.....X.X.X
+X.X.XXX.X...X.X.X.XXXXX.XXX.XXXXX.XXXXX.X.XXXXX.XXX.XXXXX.X.X.X
+X...X...X...X.X.X...........X...X.................X.....X...X.X
+X.XXX.X.XXX.X.X.X.XXXXXXX.XXX.X.X...XXXXXXX.XXX...X...X.XXXXX.X
+X.X...X...X...X...X.....X.X...X.....X.....X.......X...X.......X
+X.X...X.X.XXX.X.XXX.XXX.X.X...XXXXX.X.XXX.X.X.XXX.X.XXX.XXXXX.X
+X.......X.....X.X.......X...........X.....X.X...X...X...X...X.X
+X.XXXXX.XXX.XXX.X.XXXXX.XXXXX.XXXXX.XXX.XXX.XXX.X.XXX.XXX...X.X
+X.X...X...X.X...X.....X.....X.X...X...X.X.....X...X...X.....X.X
+X.X.X.X.X.X.X.X.XXXXX.XXXXX.X.X...X.X.X.X.XXX.XXXXX.X.X...XXX.X
+X.X.X.X.X...X.X.....X.....X.X.....X.X.X.X...........X.X...X...X
+X.X.X.X.X.XXX.X.XXX.XXXXX.X.XXX.XXX.X.X.X.X...X.XXX.X.XXX.X.X.X
+X.X.......X...X.........X.....X.......X.X.X...X...........X.X.X
+X.XXXXXXX.X...XXX.XXXXX.XXXXX.XXXXX.XXX.X.XXX.XXXXXXXXX.XXX.X.X
+X.......X.X.......X...X.....X.......X...X...X.........X.....X.X
+X.XXXXX.X.XXXXXXXXX.X.XXXXX.X.XXXXXXX.X.XXX.X.XXXXX.X.XXXXX.X.X
+X.......X...........X.....X.X.X.......X...X.X.....X.X.....X.X.X
+X.XXXXX.XXXXX.X...XXX.XXX.X.X.X...XXX.XXX.X.XXXXX.X.X.XXX.X.X.X
+X.X...X.....X.X...X.......X...X...X.......X.....X.....X...X.X.X
+X.X...X.XXX.X.XXX.X.XXX...XXXXX.XXX...XXX.X...X.X.XXXXX.XXX.X.X
+X.......X...X.....X.X...................X.X...X...X.........X.X
+X.XXXXX.X...XXXXXXX.X...XXX.X.XXXXXXXXX.X.X.XXX.X.X.XXXXX.X.X.X
+X.X...X.X...........X...X...X.X.......X...X.X...X.X.X...X.X.X.X
+X.X...X.XXX...XXXXXXX.XXX.XXX.X.X.XXX.X.XXX.X.XXX.X.X.X.X.X.X.X
+X.X...X...X...X.......X.......X.X.....X.X.........X.X.X.X...X.X
+X.XXX.X...XXXXX...XXXXX.XXX.XXX.XXX.XXX.X.XXX.XXXXX.X.X.XXXXX.X
+X...X.X...........X.........X.......X...X.....X.....X.X.......X
+X.X.X.XXX.XXXXX.X.X.XXXXXXX.X.XXX.X.X.XXX.XXX.X.XXX.X.X...XXX.X
+X.X.X...X.......X.X.X.....X.X.X...X.X.......X...X...X.X...X...X
+X.X.X...XXX.XXXXX.X.X.XXX.X.X.X.XXX.XXXXX...XXX.X.XXX.XXXXX...X
+X...X.......X.......X.....X.X...........X.....X...X...........X
+X.X.XXX...XXX.XXXXX.XXX.XXX.XXXXXXXXX...X.XXX.X.XXX...X...XXX.X
+X.X.......X...X...X.....X...........X...X.......X.....X...X...X
+X.X...XXXXX.XXX...X...XXX.XXX.XXX...XXX.XXXXXXXXX.XXXXX.X.X...X
+X.X...X.....X.....X...X.....X...X.....X...........X.....X.X...X
+X.XXX.X.X.XXX.XXXXX.XXX.XXX.XXX.XXXXX.XXX.XXX.XXXXX...X.X.XXX.X
+X.....X.X.X...X.....X...X...............X.....X.......X.X...X.X
+X.XXXXX.X.X.XXX.XXXXX.X.X.X.XXX...XXXXX.XXXXX.X...XXXXX.XXX.X.X
+X.X.....X.X.X...X.....X...X.......X.........X.X...X.......X...X
+X.X.XXX.X.X.X...X.XXX.XXXXX.XXXXX.X...X.XXX.X.XXXXX.XXXXX.XXX.X
+X.......X.X.X...X...........X...X.....X.X...X...............X.X
+X.XXXXX.X.X.XXX.XXX...XXXXX.X...X.X.XXX.X.X.XXXXXXXXX.X.XXX.X.X
+X.X...X...X...X...X...X...X.X...X.X.......X.........X.X.X...X.X
+X.X...XXX.X...X.X.X.XXX...X.XXX.X.XXXXX.XXX.XXXXX...X.X.X.XXX.X
+X.X.......X...X.X.X...........X.X.....X.........X...X...X.X...X
+X.XXX...XXX.XXX.X.XXX.XXXXXXX.X.XXX...XXX.XXXXX.X.X.XXX.X.X...X
+X...X...X...........X.X.....X.X...X.....X.....X.X.X...X.X.X...X
+X.X.XXXXX.X...X.XXX.X.X.XXX.X.X...X.X...XXX...X.X.XXX.X.X.XXX.X
+X.X.......X...X.X...X.X.......X...X.X.....X...X.X.....X.....X.X
+X.XXX...X.XXXXX.X...X.XXXXX.XXX.XXX.XXXXX.XXXXX.XXXXX.XXX...X.X
+X...X...X.......X...X.......X...X.......X...........X...X...X.X
+X.X.X.XXX...XXX.XXX.XXXXX...X.X.X.X...X.XXXXX.XXX...X...X.XXX.X
+X.X.X.........X...X.....X...X.X.X.X...X.........X...X...X.X...X
+X.X.X.XXXXX...XXX.XXXXX.XXXXX.X.X.XXXXX.XXXXXXX.XXXXX.XXX.X.X.X
+X...X.X...X.....X.............X.X.......X.....X.......X...X.X.X
+X.XXX.X...XXXXX.XXXXXXXXXXXXXXX.XXXXXXXXX.XXX.XXXXXXXXX.XXX.X.X
+X.............................................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_06.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_06.maz
@@ -0,0 +1,8 @@
+06
+XXXXXXX
+X.....X
+X.X...X
+X.X...X
+X.XXX.X
+X.....X
+XXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_08.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_08.maz
@@ -0,0 +1,10 @@
+08
+XXXXXXXXX
+X.......X
+X.X.XXX.X
+X.X...X.X
+X.X...X.X
+X.X...X.X
+X.X.XXX.X
+X.......X
+XXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_10.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_10.maz
@@ -0,0 +1,12 @@
+10
+XXXXXXXXXXX
+X.........X
+X...X.X.X.X
+X...X.X.X.X
+X.XXX.X.X.X
+X.X.......X
+X.X.XXXXX.X
+X.X.......X
+X.X.XXXXX.X
+X.........X
+XXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_12.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_12.maz
@@ -0,0 +1,14 @@
+12
+XXXXXXXXXXXXX
+X...........X
+X.XXX.XXX...X
+X.....X.....X
+X.X.XXX.XXX.X
+X.X.X.......X
+X.X.X.X.XXX.X
+X.X...X...X.X
+X.X.X.X...X.X
+X...X.X...X.X
+X.XXX.X.XXX.X
+X...........X
+XXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_14.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_14.maz
@@ -0,0 +1,16 @@
+14
+XXXXXXXXXXXXXXX
+X.....X.....X.X
+X...X.X.X.X.X.X
+X...X...X.X...X
+X.XXX.XXX.XXX.X
+X.....X.......X
+XXX.XXX.X.XXX.X
+X...X...X.....X
+X.X.X.XXXXXXX.X
+X.X...........X
+X.X.XXXXX.XXX.X
+X...X...X...X.X
+X.XXX.X.X.X.X.X
+X.....X...X...X
+XXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_16.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_16.maz
@@ -0,0 +1,18 @@
+16
+XXXXXXXXXXXXXXXXX
+X.....X.........X
+X.XXX.X.XXXXXXX.X
+X.X.....X.....X.X
+X.X.XXX.X.XXX.X.X
+X.X.............X
+X.XXXXX.X.XXXXX.X
+X.......X.....X.X
+X.X.X.XXX.XXX.X.X
+X.X.X.........X.X
+X.X.X.XXXXX.XXX.X
+X.........X.X...X
+X.X.XXX.X.X.X.X.X
+X.X.....X.X...X.X
+X.XXXXXXX.XXX.X.X
+X...............X
+XXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_18.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_18.maz
@@ -0,0 +1,20 @@
+18
+XXXXXXXXXXXXXXXXXXX
+X...X.............X
+X.X.X.XXXXX.XXX.X.X
+X.X.....X.......X.X
+X.XXX.X.X.XXX.XXX.X
+X.....X...X...X...X
+X.XXXXX.XXX.XXX.X.X
+X.X.........X...X.X
+X.X.X.XXXXXXX.X.X.X
+X.X.X.....X...X...X
+X.X.X.XXX.X.X.XXX.X
+X...X...X...X.....X
+X.X.X.X.X.X.X.XXX.X
+X.X...X...X.....X.X
+X.X.XXXXX.X.XXX.X.X
+X.X.............X.X
+X.XXXXXXXXX.XXXXX.X
+X.................X
+XXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_20.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_20.maz
@@ -0,0 +1,22 @@
+20
+XXXXXXXXXXXXXXXXXXXXX
+X...................X
+X.XXXXX.X.XXXXX.XXX.X
+X.X...X.X.....X.....X
+X.X.X.X.X.XXX.XXXXX.X
+X...X.X...........X.X
+X.X.X.X.XXX.XXXXX.X.X
+X.X...X...X.........X
+X.XXX.X.X.X.XXX.XXX.X
+X.......X.....X...X.X
+X.XXXXX.XXXXX.X.X.X.X
+X.....X...X...X.X...X
+X.XXX.X.X.X.X.X.X.X.X
+X.....X.X...X...X.X.X
+X.X.XXX.XXXXXXX.X.X.X
+X.X.X.....X.....X...X
+X.X.X.XXX.X.XXXXX.X.X
+X.X.....X...X.....X.X
+X.XXXXX.XXX.X.XXX.X.X
+X...................X
+XXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_22.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_22.maz
@@ -0,0 +1,24 @@
+23
+XXXXXXXXXXXXXXXXXXXXXXX
+X.............X.......X
+X.XXX.XXX.XXX.X.XXXXX.X
+X...X.X...X...X...X...X
+X.X.X.X.X.X.X.X.X.X.X.X
+X.X...X.X...X...X...X.X
+X.X.XXX.XXXXX.X.XXX.X.X
+X.......X.....X.....X.X
+XXXXXXXXX.XXXXX.XXXXX.X
+X.....................X
+X.X.XXX.XXX.XXXXXXX.X.X
+X.X...X.X...X.......X.X
+X.X.X.X.X.XXX.X.X.XXX.X
+X.X.X.........X.X.....X
+X.X.X.X.XXX.XXX.X.XXXXX
+X.....X...X...........X
+X.X.XXX.X.XXX.XXX.X.X.X
+X.X.....X.........X.X.X
+X.X.XXX.XXXXX.XXX.X.X.X
+X.X.X...........X...X.X
+X.X.X.XXXXX.XXX.XXX.X.X
+X...X.................X
+XXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_24.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_24.maz
@@ -0,0 +1,26 @@
+24
+XXXXXXXXXXXXXXXXXXXXXXXXX
+X...........X...........X
+X.XXX.X.X.X.X.XXX.X.XXX.X
+X...X.X.X.X.....X.X...X.X
+XXX.X.X.X.X.X.X.X.X.X.X.X
+X...X...X.X.X.X.....X.X.X
+X.XXX.X.X.X.X.XXXXXXX.X.X
+X.....X.X...X...........X
+X.X.XXX.X.XXX.XXXXXXXXX.X
+X.X.X...X.X.............X
+X.X.X.XXX.X.XXX.X.X.XXX.X
+X.........X.....X.X...X.X
+X.X.XXXXX.XXX.XXX.XXX.X.X
+X.X.X...X.........X.....X
+X.X.X.X.X.XXX.XXX.X.XXX.X
+X.X...X.....X.........X.X
+X.X.X.XXX.X.X.X.XXX.X.X.X
+X.X.X.....X...X.X...X...X
+X.X.X.X.XXX.XXX.X.XXX.XXX
+X.X.X.X.X...............X
+X.X.X.X.X.XXXXXXX.XXX.X.X
+X.X...X...........X...X.X
+X.XXX.XXXXX.X.XXXXX.XXX.X
+X...........X...........X
+XXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_26.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_26.maz
@@ -0,0 +1,28 @@
+26
+XXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.......X.................X
+X.XXXXX.X.XXX.XXX.XXX.X.X.X
+X.....X...X.......X...X.X.X
+X.XXX.XXX.X.X.XXXXX.XXX.X.X
+X.........X.X...........X.X
+X.X.X.XXX.X.XXX.XXXXX.XXX.X
+X.X.X.......X.....X.......X
+X.X.X.XXX.XXX.XXX.X.X.XXX.X
+X.X.X.X.........X...X.....X
+X.X.X.X.X.XXX.X.XXX.X.XXX.X
+X...X...X.....X...X...X...X
+X.XXX.X.XXXXX.XXX.X.X.X.X.X
+X.....X.X.......X.X.X...X.X
+X.XXX.X.X.X.X.X.X.X.XXXXX.X
+X.....X.X.X.X.X.........X.X
+X.XXX.X.X.X.X.XXXXX.XXX.X.X
+X.X.X.X...X...........X...X
+X.X.X.X.XXX.X.XXXXXXX.XXX.X
+X.X.X...X...X.X.........X.X
+X.X.XXX.X.XXX.X.XXXXX.X.X.X
+X.........X...........X.X.X
+X.XXX.XXXXX.X.X.XXX.XXX.X.X
+X.X.........X.X.......X.X.X
+X.X.XXXXXXXXX.XXXXX.X.X.X.X
+X...................X.....X
+XXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_28.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_28.maz
@@ -0,0 +1,30 @@
+28
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........................X
+X.X.XXX.XXXXXXXXX.X.XXXXX.X.X
+X.X...X...X.......X.......X.X
+X.X.X.XXX.X.X.XXX.XXX.XXXXX.X
+X.X.X.....X.X...X...X.......X
+X.X.X.X.XXX.XXX.XXX.X.XXX.X.X
+X.....X.......X.....X.....X.X
+X.X.XXX.X.XXX.X.XXX.X.X.X.X.X
+X.X.....X.....X...X...X.X.X.X
+X.XXX.X.XXXXX.XXX.XXX.X.X.X.X
+X.....X.....X.X...X...X.....X
+X.X.XXX.XXX.X.X.XXX.XXX.X.X.X
+X.X.....X...X.......X...X.X.X
+X.XXX.X.X.X.X.X.XXX.X.X.X.X.X
+X...X.X.X.X...X.X.....X.X...X
+X.X.X.X.X.XXX.X.X.X.XXX.XXX.X
+X.X.X.....X...X.X.X...X.X...X
+X.X.X.XXX.X.XXX.X.XXX.X.X.X.X
+X.X.....X.X.....X...X.....X.X
+X.X.XXX.X.X.X.X.X.X.XXX.X.X.X
+X.....X.....X.X...X.....X...X
+X.XXX.X.X.XXX.X.XXX.XXX.X.X.X
+X.......X.....X.X...X...X.X.X
+X.XXX.X.XXXXXXX.X.XXX.X.X.X.X
+X.X...X...............X...X.X
+X.X.X.XXX.XXXXX.XXX.X.X.XXX.X
+X...X...............X.......X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_30.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_30.maz
@@ -0,0 +1,32 @@
+30
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.............................X
+X.XXX.X.XXXXXXX.XXXXX.XXXXXXX.X
+X.X...X.X.......X...X.......X.X
+X.X.X.X.X.XXXXX.X.X.X.X.XXX.X.X
+X.X.X...X.........X.X.X...X...X
+X.X.X.X.XXX.XXX.X.X.X.X.X.X.X.X
+X...X.X.........X.X.....X...X.X
+X.XXX.XXX.X.XXXXX.X.X.XXX.XXX.X
+X.........X.....X...X.....X...X
+X.X.XXXXX.X.X.X.X.X.X.XXX.X.X.X
+X.X.X.......X.X...X.........X.X
+X.X.X.XXX.XXX.X.XXX.XXXXX.XXX.X
+X.X.X...X.....X.........X.X...X
+X.X.X.X.XXXXX.XXXXX.X.X.X.X.X.X
+X.X...X.X...........X.X...X.X.X
+X.XXX.X.X.X.X.XXX.XXX.X.X.X.X.X
+X.....X...X.X.X.........X...X.X
+X.X.X.XXXXX.XXX.XXX.XXX.XXX.X.X
+X.X.X.........X...X...X...X...X
+X.X.X.XXX.XXX.X.X.XXX.X.X.XXX.X
+X...X...........X.....X.X.....X
+X.XXX.XXXXX.XXXXX.X.X.X.X.XXX.X
+X.....X.....X.....X.X...X...X.X
+X.X.X.X.X.XXX.X.XXX.XXX.XXX.X.X
+X.X.X...X.X...X.....X.....X...X
+X.X.X.XXX.X.XXX.XXX.X.XXX.XXX.X
+X.....X...X.......X.....X...X.X
+X.XXXXX.X.X.XXXXX.XXXXX.XXX.X.X
+X.......X.....................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_32.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_32.maz
@@ -0,0 +1,34 @@
+32
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...X...........................X
+X.X.X.XXXXX.X.XXX.XXX.XXXXXXX.X.X
+X.X.........X...X.............X.X
+X.XXXXXXX.XXX.X.XXXXX.X.XXX.X.X.X
+X.........X...X...X.X.X.....X.X.X
+X.X.X.XXXXX.XXX.X.X.X.X.XXXXX.X.X
+X.X.X...X...X...X.......X.....X.X
+X.X.X.X.X.X.X.X.XXX.XXX.X.XXX.X.X
+X.X...X...X...X...X.......X.....X
+X.X.XXX.XXXXX.X.X.X.XXX.XXX.X.X.X
+X.X.X...........X.X...X.....X.X.X
+X.X.X.XXX.XXXXX.X.X.X.X.XXX.X.X.X
+X.X.....X.....X.....X.....X.....X
+X.X.XXX.XXXXX.XXXXX.X.X.X.X.X.X.X
+X.....................X.X.X.X.X.X
+X.XXXXX.XXX.XXX.XXX.XXX.X.X.X.X.X
+X.X.......X.X...X...X.......X...X
+X.X.X.XXX.X.X.XXX.XXX.X.X.X.X.XXX
+X.X.X.....X...X.......X.X.X.X...X
+X.X.XXX.XXX.XXX.XXX.X.X.X.X.X.X.X
+X...................X...X.X...X.X
+XXX.X.XXX.XXXXX.XXX.XXXXX.X.X.X.X
+X...X.....X...X...X.........X.X.X
+X.X.XXX.XXX.X.XXX.XXX.X.XXX.X.X.X
+X.X.........X.......X.X...X.X...X
+X.XXXXX.X.X.XXX.XXX.X.XXX.X.XXX.X
+X.X.....X.X...X.....X...X.X.....X
+X.X.XXX.X.XXX.XXXXX.XXX.X.XXX.XXX
+X...X.....X.............X.......X
+X.XXX.XXXXX.XXXXXXX.XXXXX.XXXXX.X
+X...............................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_34.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_34.maz
@@ -0,0 +1,36 @@
+34
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...............X...X.............X
+X.XXXXX.XXX.XXX.X.X.X.XXX.XXXXX.X.X
+X.X.......X...X...X...X.........X.X
+X.X.XXXXX.X.X.XXX.XXXXX.XXX.X.XXX.X
+X.X.....X...X...........X...X...X.X
+X.X.XXX.XXXXX.XXX.XXX.XXX.X.XXX.X.X
+X.X...X.X.........X.......X.......X
+X.XXX.X.X.X.XXXXX.X.X.XXXXX.X.X.X.X
+X.........X.........X.X.....X.X.X.X
+X.XXXXX.X.X.XXX.XXX.X.X.XXX.X.X.X.X
+X.X.....X.X.X.....X.X...........X.X
+X.X.XXXXX.X.X.XXX.X.XXX.XXXXX.X.X.X
+X.X...........X.........X.....X...X
+X.XXX.XXX.XXX.X.XXXXX.X.X.XXX.X.X.X
+X.....X...X.....X.....X.X...X.X.X.X
+X.XXX.X.X.X.XXX.X.XXX.X.XXX.X.X.X.X
+X.......X.......X...X...........X.X
+X.XXXXX.XXXXXXX.X.X.XXX.XXX.X.XXX.X
+X.X.....X.........X.......X.X.X...X
+X.X.X.X.X.XXXXX.XXXXX.XXX.X.X.X.X.X
+X...X.X...X.......X.....X.....X.X.X
+X.XXX.XXX.X.X.XXX.X.XXX.XXXXX.X.X.X
+X.X.....X...X...X.....X.....X...X.X
+X.X.X.X.XXXXX.X.X.XXX.XXX.X.X.XXX.X
+X...X.X.......X...........X.......X
+X.XXXXX.XXXXXXX.X.X.XXX.XXXXXXX.X.X
+X...............X.X.X...X.......X.X
+X.XXX.X.X.XXX.XXX.X.X.XXX.X.XXX.X.X
+X...X.X.X.X...............X.....X.X
+X.X.X.X.X.X.X.XXX.X.XXXXXXXXX.X.X.X
+X.X...X...X.X.....X...........X...X
+X.X.XXX.X.X.X.X.XXX.X.XXX.XXX.XXX.X
+X.......X.....X.....X.............X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_36.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_36.maz
@@ -0,0 +1,38 @@
+36
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.......X...............X.....X.....X
+X.X.X.X.X.XXX.X.XXX.XXX.X.XXX.X.X.X.X
+X.X.X.X...X...X.X.........X.....X.X.X
+X.X.X.XXX.X.XXX.X.XXXXX.XXX.XXX.X.X.X
+X.......X.X.....X...................X
+XXX.XXX.X.X.XXX.X.X.XXXXX.XXX.XXX.X.X
+X.....X.X.....X...X.X...X.X...X...X.X
+X.XXX.X.XXX.X.XXX.X.X.X.X.X.X.X.XXX.X
+X.X.........X...X.X...X.....X.X...X.X
+X.X.XXXXXXX.XXX.X.X.XXX.XXX.X.XXX.X.X
+X.X.X...X...X.....X.X...X...........X
+X.X.X.X.X.XXX.X.XXX.X.XXX.XXX.XXX.X.X
+X.....X.X.X...X.............X...X.X.X
+X.XXXXX.X.X.XXX.XXX.XXX.XXX.X.X.X.X.X
+X.....X...X.....X...X...X...X.X...X.X
+X.X.X.X.XXX.X.XXX.X.X.X.X.XXX.X.XXX.X
+X.X.X.......X.....X...X.X.X.........X
+X.X.XXX.XXX.X.XXX.X.X.X.X.X.X.XXXXX.X
+X.X.......X...X.....X.X.X...X.....X.X
+X.XXXXXXX.X.XXX.XXX.X.X.X.X.XXX.X.X.X
+X.....X.........X...X.....X...X.X.X.X
+XXX.X.X.X.XXXXX.X.XXXXX.XXXXX.X.X.X.X
+X...X...X.....X.............X.X.X.X.X
+X.XXXXX.XXXXX.XXX.XXX.X.XXX.X.X.X.X.X
+X...............X.X...X.X.....X...X.X
+XXX.XXXXX.X.XXX.X.X.XXX.X.XXX.X.X.X.X
+X...X.....X...X.................X.X.X
+X.X.X.XXXXXXX.X.XXX.XXXXX.XXX.XXX.X.X
+X.X.....................X.X.........X
+X.X.XXX.XXX.XXXXXXX.XXX.X.X.XXX.XXX.X
+X.X.....X...X.....X...X...X...X...X.X
+X.X.XXX.X.XXX.XXX.X.X.XXX.XXX.XXX.X.X
+X.X...X.X...........X...X.........X.X
+X.XXX.X.XXX.X.XXX.XXXXX.XXX.XXXXXXX.X
+X...........X.......................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_38.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_38.maz
@@ -0,0 +1,40 @@
+38
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.....................................X
+X.XXXXX.XXXXX.X.XXX.XXXXX.XXXXXXXXX.X.X
+X.....X.X...X.X.X...X...X.X.......X.X.X
+X.XXX.X.X.X.X.X.X.XXX.X.X.X.X.XXX.X.X.X
+X...X...X.X.......X...X.X...X.........X
+X.X.XXX.X.XXX.X.X.X.XXX.X.XXX.XXX.X.X.X
+X.X...X.....X.X.X...X.........X...X.X.X
+X.X.X.X.XXX.X.X.X.X.X.X.X.X.X.X.XXX.X.X
+X.X.X.....X...X.X.X...X.X.X.X.X.X...X.X
+X.X.XXX.X.XXX.X.X.X.XXX.X.X.X.X.X.XXX.X
+X...X...X.....X...X.X...X.....X.......X
+X.X.X.X.X.X.X.X.XXX.X.X.X.XXX.X.X.XXX.X
+X.X...X...X.X.X.......X.X...X...X.....X
+X.X.XXX.XXX.X.X.X.X.XXX.X.X.X.X.XXX.X.X
+X...X.......X...X.X.....X.X...X.....X.X
+X.XXX.X.XXX.X.XXX.XXX.X.X.X.XXX.X.XXX.X
+X.X...X...X.X.........X.X...X...X.X...X
+X.X.XXXXX.X.XXX.X.XXX.X.X.XXX.X.X.X.X.X
+X...X.....X.....X...X.........X.X...X.X
+X.XXX.X.XXX.XXXXXXX.X.XXX.XXX.X.XXX.X.X
+X...X.X.............X...............X.X
+X.X.X.XXX.XXX.XXX.XXX.XXX.XXXXX.XXX.X.X
+X.X.............X.X...........X.X.....X
+X.XXX.XXX.XXXXX.X.X.XXXXX.XXX.X.X.X.XXX
+X.....X.........X...X...X.X.....X.X...X
+X.XXX.X.X.XXX.XXX.XXX.X.X.X.X.XXX.XXX.X
+X.X.....X.X.......X...X.....X.X.....X.X
+X.X.X.XXXXX.X.XXX.X.XXXXXXXXX.X.XXX.X.X
+X...X.......X...X.....X.............X.X
+X.X.XXX.X.X.XXX.XXX.X.X.XXXXX.XXX.XXX.X
+X.X.....X.X.........X.......X.........X
+X.XXX.X.X.X.XXX.XXXXX.X.XXX.XXXXXXX.XXX
+X.....X.X.X...X.....X.X...............X
+X.XXX.X.X.XXX.X.XXX.X.XXX.X.XXXXXXXXX.X
+X.X...............X.X...X.X.X.........X
+X.X.XXX.X.XXXXXXX.X.X.X.X.X.X.XXX.XXX.X
+X.......X.............X...............X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_40.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_40.maz
@@ -0,0 +1,42 @@
+40
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........X...........................X
+X.XXX.XXXXX.X.X.X.XXX.XXX.X.X.XXXXX.XXX.X
+X.X...X...X...X.X.X.....X.X.X.....X...X.X
+X.X.XXX.X.X.XXX.X.X.X.X.X.X.X.XXX.X.X.X.X
+X.......X.X.X...X...X.X...X.X.X.....X...X
+X.X.X.XXX.X.X.X.XXX.X.X...X.X.X.XXX.X.X.X
+X.X.X.X...X...X...X...X...X.....X...X.X.X
+X.X.X.X.X.X.XXXXX.X.X.X.X.X.X.XXX.X.X.X.X
+X.X.....X.......X...X...X...X.X...X.....X
+X.XXX.X.XXXXX.X.X.X.XXX.XXX.X.X.XXX.XXX.X
+X...X.X.......X...X...X.......X.......X.X
+XXX.X.X.XXX.XXX.XXXXX.XXXXX.XXX.X.XXX.X.X
+X.....X.......X.....X...........X.X...X.X
+X.X.X.XXX.X.X.X.X.X.XXX.XXX.XXXXX.X.X.X.X
+X.X.X...X.X.X...X.X.......X.........X.X.X
+X.X.XXX.X.X.X.XXX.X.XXXXX.X.XXXXX.XXXXX.X
+X.X.......X.X.X...X.X...X...X...........X
+X.XXX.XXX.X.X.X.XXX.X.X.X.X.X.X.XXX.X.X.X
+X...X.X...X.X.X.....X.X...X...X.....X.X.X
+X.X.X.X...X.X.XXX.XXX.XXXXX.X.X.X.X.X.X.X
+X.X.X.X...X...........X.....X.X.X.X...X.X
+X.X.X.X.X.X.XXX.X.XXX.X.XXX.X.X.X.X.X.X.X
+X.X.....X.....X.X.X...X.......X.X.X.X...X
+X.X.X.X.X.XXX.X.X.X.X.X.X.X.XXX.X.X.XXX.X
+X.X.X.X.......X.X.X.X...X.X.....X.X.....X
+X.X.X.X.X.XXX.X.X.X.X.X.X.X.X.X.X.X.XXX.X
+X.X...X.X.X.....X.....X.X.X.X.X.......X.X
+X.X.XXX.X.X.X.X.X.XXX.X.X.X.X.XXXXXXX.X.X
+X.....X.....X.X.....X.......X...........X
+X.X.X.X.X.XXXXX.XXX.XXX.XXX.XXXXXXX.X.X.X
+X.X.X...X.............X.X...........X.X.X
+X.X.X.X.X.X.X.XXX.X.X.X.X.X.XXX.X.XXX.X.X
+X...X.X.X.X.X.....X.X...X.X...X.X.......X
+X.XXX.X.X.X.XXX.XXX.X.XXX.X.X.X.XXX.XXX.X
+X.X...X.......X.X.........X.X.X.......X.X
+X.X.X.X.X.XXX.X.X.X.X.X.X.X.X.XXXXX.X.X.X
+X...X...X.X...X...X.X.X.X...X.....X.X...X
+X.XXX.X.X.X.X.X.XXXXX.X.XXX.XXXXX.X.X.X.X
+X.....X.....X.........................X.X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_42.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_42.maz
@@ -0,0 +1,44 @@
+42
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.........................................X
+X.X.XXX.XXX.XXX.XXX.X.XXXXX.X.XXXXX.XXXXX.X
+X.X.X...X.........X.X.......X.X...X.X.....X
+X.X.X.XXX.X.XXX.X.X.X.XXX.X.X.X.X.X.X.XXX.X
+X...X...X.X.....X.X.....X.X.....X...X.X...X
+XXX.XXX.X.XXXXX.X.XXXXX.X.XXX.XXXXX.X.X.XXX
+X.....X.................X...X.............X
+X.XXX.X.X.XXXXX.XXX.XXX.XXX.X.XXX.XXXXXXX.X
+X.......X.........X...X.....X...........X.X
+X.XXX.XXXXXXX.XXX.XXX.XXX.XXXXX.X.XXXXX.X.X
+X...X.............X.............X...X...X.X
+XXX.X.X.X.X.X.X.XXX.XXX.XXX.XXXXX.X.X.X.X.X
+X...X.X.X.X.X.X...........X.X.....X.X.X...X
+X.XXX.X.X.X.X.X.XXX.X.XXX.X.X.XXX.X.X.XXX.X
+X.....X.X...X.....X.X...X.........X.....X.X
+X.XXX.X.XXX.X.XXX.X.XXX.XXX.XXXXXXX.X.X.X.X
+X...X.X.....X...X.X.................X.X...X
+X.X.X.XXX.XXXXX.X.X.XXX.XXX.XXX.X.X.X.XXX.X
+X.X...................X.X.......X.X.X.....X
+X.X.X.XXX.XXXXX.XXXXX.X.X.XXXXX.X.X.XXX.X.X
+X.X.X...X.X...X.........X.......X.X...X.X.X
+X.X.X.X.X.X.X.X.XXX.XXX.X.XXXXX.X.X.X.X.X.X
+X...X.X.X...X.....X.X...X...X.....X.X...X.X
+X.XXX.X.XXX.X.XXX.X.X.X.X.X.X.X.X.XXX.XXX.X
+X...........X...X.X...X.X.X...X.X...X.....X
+X.X.XXXXX.XXX.X.X.XXX.X.X.XXXXX.XXX.XXX.X.X
+X.X...........X.....X.X...X.......X.....X.X
+X.XXX.XXX.XXXXX.XXX.X.X.X.X.X.X.X.X.X.XXX.X
+X...X...........X.......X...X.X.X.X.X...X.X
+XXX.XXX.XXXXXXX.X.XXX.X.XXX.X.X.X.X.X.X.X.X
+X.....X.......X.......X.....X.....X...X...X
+X.XXX.X.XXXXX.XXX.XXXXX.XXX.X.X.X.XXX.XXX.X
+X...X...X.........X...........X.X.........X
+XXX.X.X.X.XXX.XXX.X.XXXXXXX.XXX.X.X.XXX.X.X
+X.....X...........X.............X.X.....X.X
+X.XXX.XXX.X.X.XXX.X.XXX.XXX.XXX.X.XXXXX.X.X
+X.....X...X.X.............X...X...X.......X
+X.XXX.X.X.X.X.XXXXX.XXX.X.XXX.XXX.X.XXXXX.X
+X.X.....X.X.........X...X.......X...X...X.X
+X.X.X.XXX.XXXXXXX.X.X.XXX.XXXXX.XXX.X.X.X.X
+X...X.............X...................X...X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_44.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_44.maz
@@ -0,0 +1,46 @@
+44
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.................X...........X.............X
+X.XXX.XXXXX.XXX.X.X.XXXXXXXXX.X.XXXXXXX.XXX.X
+X.....X...X.X...X...X...........X.......X...X
+X.X.XXX.X.X.X.XXX.XXX.XXX.XXX.X.X.XXX.X.X.XXX
+X.X.....X.....X...............X.X.X...X.....X
+X.XXXXXXX.X.X.X.XXX.XXXXX.XXX.X.X.X.X.XXXXX.X
+X.........X.X...........X.........X.X.......X
+XXX.XXXXXXX.X.X.XXX.XXX.X.X.X.XXXXX.X.X.XXX.X
+X...........X.X...........X.X.......X.X...X.X
+X.XXXXXXXXX.X.XXX.XXX.XXX.X.XXX.XXXXX.XXX.X.X
+X.........X.X...X...X...................X...X
+X.X.XXX.X.X.X.X.X.X.XXXXX.X.XXXXXXX.XXX.X.X.X
+X.X...X.X...X.X...X.....X.X.X.......X.....X.X
+X.X.X.X.XXX.X.XXXXX.X.X.X.X.X.X.XXXXX.X.XXX.X
+X...X.X...........X.X.X.......X.......X.....X
+X.XXX.XXX.XXX.XXX.X.X.XXXXX.XXX.X.X.X.XXX.XXX
+X.X.....X.X.......X.X.....X...X.X.X.X.X.....X
+X.X.X.X.X.X.XXXXX.X.X.XXX.XXX.X.X.X.X.X.XXX.X
+X.X.X.X...X.X...X.................X.X.......X
+X.X.XXX.XXX.X.X.X.XXX.XXXXX.XXX.X.X.XXX.XXX.X
+X...X...X.....X...X.............X.X.....X...X
+X.X.X.XXX.XXX.X.XXX.XXX.XXX.XXX.X.X.XXXXX.XXX
+X.X.......X...X.X...X...X...................X
+X.XXXXX.X.X.X.X.X.XXX.X.X.XXXXX.XXXXX.XXXXX.X
+X.....X.X...X.X.......X.X.....X...........X.X
+X.X.X.X.XXXXX.X.X.XXX.X.XXXXX.X.X.XXX.X.X.X.X
+X.X.X...X.......X.X...X.....X...X.....X.X.X.X
+X.X.XXX.X.XXX.XXX.X.XXX.XXX.X.XXX.XXX.X.X.X.X
+X.................X.X.....X...........X.X...X
+X.X.XXX.XXX.XXX.XXX.X.X.X.X.XXXXX.XXX.X.XXX.X
+X.X.X.......X.......X.X.X...........X.......X
+X.X.X.XXX.XXX.XXX.X.X.X.X.XXXXX.XXX.X.XXX.X.X
+X...X...X.......X.X...X.....X...X.....X...X.X
+X.X.X.X.X.X.XXX.X.XXXXX.XXX.X.XXX.X.XXX.XXX.X
+X.X...X...X.X...........X.....X...X.....X...X
+X.X.XXX.X.X.X.XXX.XXX.X.X.X.XXX.XXX.XXXXX.X.X
+X.X.X...X...X...X.X...X...X.X.............X.X
+X.X.X.X.X.XXXXX.X.X.X.XXXXX.X.XXX.X.X.XXXXX.X
+X.....X.X.X.....X.X.X...X.....X...X.X.......X
+X.XXXXX.X.X.X.XXX.X.XXX.X.XXX.X.X.X.XXX.X.XXX
+X.X...X.X...X.X...X...X.......X.X.X.....X...X
+X.X.X.X.XXXXX.X.XXX.X.XXX.XXXXX.X.XXXXX.XXX.X
+X...X...............X.......................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_46.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_46.maz
@@ -0,0 +1,48 @@
+46
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........X.................................X
+X.XXXXX.XXX.X.XXX.XXX.XXX.X.XXX.X.X.XXX.XXXXX.X
+X.......X...........X...X.X.....X.X.....X.....X
+XXX.XXXXX.X.XXX.XXX.XXX.X.XXX.XXX.X.XXX.X.XXX.X
+X...X.....X.................X.....X...X.X...X.X
+X.X.X.XXX.X.X.XXX.X.X.X.XXX.XXX.XXXXX.X.X.X.X.X
+X.X.........X.....X.X.X.X.....X...X...X...X.X.X
+X.XXX.XXX.XXX.XXXXX.X.X.X.XXX.X.X.X.XXX.XXX.X.X
+X.X...X.....X...X...............X...X.....X.X.X
+X.X.XXX.X.X.XXX.X.XXXXX.XXXXX.X.X.X.X.XXX.X.X.X
+X.X.....X.X...X.........X.....X.X.X...X.....X.X
+X.XXX.X.X.X.X.XXX.X.XXX.X.XXX.X.X.X.X.X.XXX.X.X
+X...X.X.....X.X...X.....X.....X...X.X.....X...X
+X.X.X.X.XXXXX.X.XXX.X.XXX.XXXXX.XXX.X.X.X.XXX.X
+X.X.....X.......X...X...........X...X.X.X.....X
+X.X.X.XXX.X.XXXXX.XXX.XXXXXXX.X.X.XXX.X.XXX.X.X
+X...X.X...X.......X.....X.....X.X.....X.....X.X
+XXX.X.X.X.XXX.XXX.X.XXX.X.XXX.X.XXX.XXX.X.X.X.X
+X...X...X...X.....X...X...X.............X.X...X
+X.X.XXXXX.X.X.XXX.XXX.X.XXX.X.X.X.XXXXX.X.XXX.X
+X.X.......X...X.......X.X...X.X.X.........X...X
+X.X.XXXXX.X.XXX.XXX.X.X.X.XXX.X.XXX.XXXXX.X.X.X
+X.X.....X.X.....X...X.X.........X...X.......X.X
+X.X.X.X.X.X.X.X.X.XXX.XXXXX.XXXXX.XXX.XXX.XXX.X
+X.X.X.X...X.X.X.............X...........X.....X
+X.X.X.X.XXX.X.XXX.XXX.XXXXX.X.XXXXX.X.X.XXX.XXX
+X...X.X.....X...X...X.....X.......X.X.X...X...X
+X.XXX.X.XXX.X.X.XXX.X.XXX.X.XXXXX.X.X.XXX.XXX.X
+X.....X.......X.......X...X.X...........X.....X
+X.XXXXX.XXX.XXX.X.X.XXX.XXX.X.XXX.XXX.X.XXX.X.X
+X.........X.....X.X.....X...........X.X.....X.X
+X.X.X.XXX.X.X.X.X.X.X.X.X.XXXXX.XXX.X.X.X.XXX.X
+X.X.X.......X.X.....X.X.........X.....X.X.....X
+X.X.XXX.XXXXX.X.XXX.X.XXX.XXX.X.X.XXXXX.XXX.X.X
+X.X.....X.....X...X...........X.X.X.........X.X
+X.XXX.XXX.XXX.XXX.XXX.XXX.XXXXX.X.X.XXX.XXX.X.X
+X...X.......X...X...............X.X...X.....X.X
+X.X.XXX.XXX.X.X.X.XXX.XXX.XXXXX.X.X.X.X.XXX.X.X
+X.X.......X...X.....X.....X...X.....X.X.......X
+X.XXX.XXX.XXX.XXXXX.XXX.XXX.X.X.XXX.X.X.XXXXX.X
+X.X...X.......X.............X.X.....X...X.....X
+X.X.X.X.X.XXX.X.XXX.X.X.XXX.X.X.XXX.X.XXX.X.X.X
+X...X...X.........X.X.X.....X.............X.X.X
+X.XXX.X.XXXXXXXXX.X.X.X.X.XXX.XXXXXXX.XXXXX.X.X
+X.....X.................X.....................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_48.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_48.maz
@@ -0,0 +1,51 @@
+48
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........X...........X.......................X
+X.XXXXXXX.X.X.XXX.XXX.X.X.XXXXX.XXX.XXX.X.XXXXX.X
+X.........X.........X.X.........X.....X.X.X.....X
+X.XXX.X.XXX.X.XXXXX.X.XXX.X.XXX.X.XXX.X.X.X.XXX.X
+X.....X.....X.X.....X.X...X...........X.X.X.X...X
+X.XXXXXXXXX.X.X.X.XXX.X.XXX.X.XXXXXXX.X.X.X.X.XXX
+X.X.......X.X...X.....X.X...X...........X...X...X
+X.X.XXX.X.X.X.XXXXX.XXX.X.X.X.XXX.XXXXX.X.X.XXX.X
+X.......X.....X.....X.....X...........X...X...X.X
+X.XXX.X.XXXXX.X.XXX.X.X.XXXXX.X.XXXXX.XXXXX.X.X.X
+X.X...X.X...X.....X...X.X...X.X.X...........X...X
+X.X.XXX.X.X.XXXXX.XXX.X.X.X.X.X.X.X.X.XXXXXXXXX.X
+X.X.......X.............X.X.......X.X.......X.X.X
+X.XXX.XXX.XXX.XXX.XXX.XXX.X.X.XXX.X.XXXXX.X.X.X.X
+X.............X...........X.X...X.X.......X...X.X
+X.X.XXX...XXX.X.XXX.XXXXX.X.XXX.X.X.X.XXX.XXX.X.X
+X.X.........X.X...X.......X...X.X...X.........X.X
+X.X.X.X.XXX.X.XXX.XXXXXXX.X.X.X.X.X.X.XXX.X.X.X.X
+X.X.X.X.....X.X...........X.X.X...X...X...X.X...X
+X.X.X.X.X.XXX.X.XXXXXXX.X.X.X.X.XXX.X.X.XXX.XXX.X
+X...X...X.....X.X.......X.X.X...X...X...X.....X.X
+X.XXX.XXX.XXX.X.X.XXXXXXX.X.X.XXX.X.XXXXX...X.X.X
+X.X.........X...............X.....X.........X.X.X
+X.X.XXX.X.X.XXX.XXX.XXX.XXXXX.XXXXX.XXXXX.XXX.X.X
+X.......X.X.......X.X.....................X.....X
+X.XXX.X.X.XXXXXXX.X.X.XXXXXXX.XXXXX.X.X.X.X.XXX.X
+X.X...X.....................X.......X.X.X...X...X
+X.X.XXX.XXX.XXX.X.X.XXXXXXX.X.X.X.X.X.X.XXX.X.X.X
+X.X.............X.X.......X...X.X.X.......X.X.X.X
+X.XXX.X.X.XXX.X.X.XXX.XXX.XXX.X.X.XXX.XXX.X.X.X.X
+X.....X.X...X.X.X.....X.......X.....X...........X
+XXX.XXX.XXX.X.X.XXXXXXX.XXXXX.XXX.X.XXXXX.X.X.X.X
+X...X.......X.........X.X.........X.......X.X.X.X
+X.XXX.X.XXX.X.X.XXXXX.X.X.X.XXXXX.X.X.XXX.XXXXX.X
+X.X...X.......X.....X...X.X.X.......X.X.........X
+X.X.X.XXXXX.XXX.XXX.X.XXX.X.X.X.XXX.X.X.XXX.XXX.X
+X.X.X.....X.........X.X.......X.....X...X.......X
+X.X.X.XXX.XXX.XXX.XXX.X.X.XXXXX.XXX.XXXXX.X.XXX.X
+X.....X.....X...X.X.....X.X.....X.........X...X.X
+X.XXX.X.XXX.X.X.X.X.X.XXX.X.X.XXX.XXXXX.XXX.X.X.X
+X.............X.X...X.X.....X.....X.....X...X...X
+X.XXXXX.X.XXX.X.X.XXX.X.X.XXX.XXXXX.XXX.X.X.XXX.X
+X.....X.X...X.X...X.....X.......X.....X...X.X...X
+XXX.X.X.XXX.X.X.XXX.X.X.X.XXXXX.X.XXX.XXX.X.X.X.X
+X...X.......X.X.X...X.X...X.........X.....X...X.X
+X.XXXXXXX.XXX.X.X.XXX.X.XXX.X.XXXXX.X.XXX.XXXXX.X
+X...........................X...................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_50.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_50.maz
@@ -0,0 +1,52 @@
+51
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...........X.....X...............................X
+X.X.X.X.XXX.X.XXX.X.XXXXX.XXX.X.XXX.XXX.X.X.XXX.X.X
+X.X.X.X...X...X...............X.....X...X.X.X...X.X
+X.X.X.X.X.XXX.X...XXX.XXX.XXX.XXX.XXX.XXX.X.X.XXX.X
+X.....X.X...........X.......................X.X...X
+X.XXX.X.X.XXXXX.XXX.X.X.XXX.X.X.X.X.XXX.X.XXX.X.X.X
+X.X.....X.....X.X...X.X...X.X.X.X.X...X.X.....X.X.X
+X.X.XXX.XXXXX.X.X.XXX.XXX.X.X.X.X.XXX.X.XXX.X.X.X.X
+X.....X...........X...X.......X.....X.X.....X.....X
+X.XXX.XXX.XXX.XXXXX.X.X.X.XXXXX.XXX.X.X.X.XXXXXXX.X
+X.......X...........X...X.........X...X.X.........X
+X.XXXXX.X.X.XXX.XXX.XXX.X.X.X.XXX.XXXXX.X.X.X.XXX.X
+X.X.....X.X.X.......X...X.X.X.............X.X.....X
+X.X.XXX.X.X.X.XXX.XXX.XXX.X.X.XXXXX.XXXXX.X.XXX.XXX
+X.....X.....X.................X.....X...X.....X...X
+X.X.X.X.XXX.X.X.XXXXX.XXX.XXXXX.XXX.X.X.XXXXX.XXX.X
+X.X.X.......X.X.........X.............X...........X
+X.X.XXXXX.XXX.XXX.XXXXX.X.XXXXX.X.XXX.X.XXX.XXXXX.X
+X.X...........X.............X...X...........X.....X
+X.X.XXX.XXX.XXX.XXXXX.XXXXX.X.X.XXX.X.XXXXXXX.XXX.X
+X.X...X.X.....X.....X.....X...X...X.X.........X...X
+X.XXX.X.X.XXX.X.XXX.X.XXX.XXX.XXX.X.XXX.XXXXX.X.XXX
+X.......X...X...X.....X.........X.................X
+X.X.XXX.XXX.XXX.X.XXX.X.XXXXX.X.XXXXX.XXX.XXX.XXX.X
+X.X.................X.X.X.....X.....X.......X...X.X
+X.X.X.XXX.XXX.XXX.X.X.X.X.XXX.X.X.X.X.X.XXX.XXX.X.X
+X...X.....X...X...X.....X...X...X.X...X.......X.X.X
+X.XXX.XXX.X.XXX.XXX.X.X.X.X.XXXXX.X.XXX.X.XXX.X.X.X
+X.....X.............X.X...X.......X.....X...X...X.X
+X.XXX.X.XXX.XXXXXXX.X.XXX.X.XXXXX.XXX.XXXXX.X.XXX.X
+X...X.......X.......X.................X.....X.X...X
+X.X.XXXXX.XXX.XXX.XXX.XXX.X.XXXXX.X.XXX.X.XXX.X.X.X
+X.X.....X.........X.....X.X...X...X.....X.X.....X.X
+X.X.XXX.X.XXXXXXX.X.XXX.X.X.X.X.XXX.XXX.X.X.XXX.X.X
+X...............X.X...X.X.X.X.X.......X.X.X...X.X.X
+X.X.XXXXX.XXX.X.X.X.X.X.X.X.X.X.XXXXX.X.X.XXX.X.X.X
+X.X.X...X.X...X.X...X...X.X.....X...X.X.........X.X
+X.X.X.X.X.X.XXX.X.X.X.X.X.X.XXX.X.X.X.X.XXX.XXX.X.X
+X.....X.X...X.....X.X.X.......X...X.X.......X...X.X
+X.XXX.X.X.XXX.X.XXX.X.X.X.XXX.X.XXX.XXXXX.XXX.XXX.X
+X.....X.X.X...X.......X.X...X...X...............X.X
+XXX.XXX.X.X.X.X.XXXXX.X.XXX.X.X.X.X.XXX.XXX.XXX.X.X
+X...X.......X...............X.X...X.X.........X...X
+X.X.X.X.X.XXX.XXX.XXX.XXX.XXX.XXXXX.X.XXXXX.X.XXX.X
+X.X.X.X.X.......X.....X.....................X...X.X
+X.X.X.X.X.XXX.X.X.X.X.X.XXX.XXXXXXXXX.XXXXX.X.X.X.X
+X.X.X.X...X...X...X.X.X.............X.......X.X...X
+X.X.X.XXX.X.XXX.XXX.X.XXXXX.X.XXXXX.XXX.X.XXX.XXX.X
+X...........................X...........X.........X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_52.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_52.maz
@@ -0,0 +1,54 @@
+53
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...X.................X.............................X
+X.X.X.XXXXX.XXX.XXX.X.X.XXX.XXXXX.XXXXXXX.XXX.XXXXX.X
+X.X...X...X.....X...X...X...X...X.X...............X.X
+X.X.XXX.X.X.XXX.X.XXX.X.X.XXX.X.X.X.XXXXX.XXX.XXX.X.X
+X.X.....X.X...X.X.X...X.X.....X...........X.........X
+X.X.XXXXX.X.X.X.X.X.X.X.XXX.XXXXX.XXX.XXXXX.XXX.XXX.X
+X...........X...X...X.....X...........X...........X.X
+X.X.X.X.XXX.XXX.X.X.XXX.X.XXX.XXX.X.X.X.X.XXX.X.X.X.X
+X.X.X.X.X.....X...X...X.X.....X...X.X.X.X.....X.X.X.X
+X.X.X.X.X.X.X.X.XXX.X.X.X.XXX.X.XXX.X.X.X.XXXXX.X.X.X
+X.X...X...X.X.X.X...X.........X.X...............X...X
+X.XXXXX.X.X.X.X.X.X.XXX.X.XXX.X.X.XXXXXXX.XXXXX.XXX.X
+X.......X...X.....X...X.X...X.X.........X...........X
+X.X.XXXXX.X.XXXXX.XXX.X.XXX.X.XXX.XXX.X.X.XXX.XXX.X.X
+X.X.X.....X.........X.....X.X.....X...X...X...X...X.X
+X.X.X.X.XXX.X.XXXXX.XXXXX.X.X.XXXXX.XXX.XXX.X.X.XXX.X
+X.X...X.X...X...........X.X...........X.....X.X...X.X
+X.XXXXX.X.XXX.XXX.XXXXX.X.X.XXXXX.XXX.X.XXX.X.XXX.X.X
+X...........X.X.....X...........X.....X.X...X.......X
+X.XXX.X.X.X.X.X.XXX.X.XXX.XXX.X.X.XXXXX.X.X.XXX.XXX.X
+X.X...X.X.X...........X...X...X.........X.X.......X.X
+X.X.XXX.X.XXXXX.XXXXXXX.XXX.XXX.X.X.X.XXX.XXX.XXX.X.X
+X.X.......X.....................X.X.X.........X.....X
+X.X.X.XXX.X.XXX.XXX.XXXXXXX.X.XXX.X.X.XXXXXXXXX.X.X.X
+X.X.X.X...........X.........X.X.....X...........X.X.X
+X.X.X.X.X.XXX.XXX.X.XXX.XXXXX.X.XXXXX.X.XXX.XXX.X.X.X
+X.X.X...X...............X.....X.......X.......X...X.X
+X.X.XXX.X.XXXXX.XXX.X.X.X.XXXXX.X.XXX.XXX.XXX.XXXXX.X
+X.X...X.X.X.........X.X.........X...................X
+X.X.X.X.X.X.X.XXXXX.X.XXX.XXXXXXX.XXXXX.X.XXX.X.XXX.X
+X.X.X.......X...........................X.X...X.....X
+X.X.XXXXX.X.XXXXX.XXXXX.XXXXXXX.X.X.X.XXX.X.X.X.XXX.X
+X...X...X.X.X...X.....X.........X.X.X...X...X.....X.X
+X.XXX.X.X.X.X.X.X.XXX.XXX.XXX.X.X.X.XXX.XXX.XXX.X.X.X
+X.....X.X.X.X.X...X.......X...X.X.X.......X...X.X.X.X
+X.XXX.X.X.X.X.XXX.X.XXX.X.X.XXXXX.X.X.XXX.XXX.X.X.X.X
+X.......X.X.......X.....X.X...X...X.X.......X...X.X.X
+X.XXX.X.X.X.XXX.XXX.XXXXX.XXX.X.XXX.XXXXXXX.X.XXX.X.X
+X.X...X...X.................X.X...........X.........X
+X.X.XXX.XXX.X.X.XXX.XXXXX.X.X.XXX.XXXXX.X.X.XXX.XXX.X
+X.X.........X.X.........X.X...........X.X.........X.X
+X.X.X.XXX.X.XXXXXXX.XXX.XXX.XXX.XXXXX.X.XXX.XXXXX.X.X
+X.X.X.....X.........X.........X.......X.....X.......X
+X.X.X.XXX.XXX.XXX.XXX.XXX.X.X.X.XXX.XXX.XXX.X.XXX.X.X
+X.X...............X.......X.X...X.........X...X...X.X
+X.XXX.X...XXX.XXX.X.XXXXX.X.XXXXX.XXX.XXX.XXX.X.X.X.X
+X.....X.......X.........X.............X...X.....X.X.X
+X.X.X.X.XXXXX.X.X.X.XXX.XXXXX.X.XXX.XXX.X.X.X.XXX.X.X
+X.X.X...X.....X.X.X.........X.X.....X...X...X.....X.X
+X.X.XXXXX.XXX.X.X.XXXXX.XXX.X.XXX.X.X.X.XXXXX.XXXXX.X
+X.................................X...X.............X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_54.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_54.maz
@@ -0,0 +1,56 @@
+55
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.............X...............................X.......X
+X.X.XXXXXXXXX.X.XXXXX.X.XXX.XXX.XXXXX.XXXXXXX.X.XXXXX.X
+X.X.........X.......X.X.....X...X.....X.........X...X.X
+X.X.X.XXX...X.XXX.X.X.XXXXXXX.X.X.XXXXX.X.X.X.X.X.X.X.X
+X...X...X.......X.X...X.......X.X.......X.X.X.X...X.X.X
+X.XXX.X.XXX.XXX.X.X.X.X.XXXXX.X.XXXXX.X.X.X.X.X.XXX.X.X
+X.X...X.....X...X.X.X.........X.......X...X.........X.X
+X.X.X.XXX.XXX.X.X.X.XXX.XXXXXXX.X.XXX.XXX.XXX.X.XXX.X.X
+X...X...X.X...X.X.X...X.........X.............X...X...X
+XXX.XXX.X.X.X.X.X.XXX.XXX.XXX.XXX.XXX.XXX.XXXXX.X.X.X.X
+X...X.......X.X.....X...X.X.......X.............X...X.X
+X.XXX.XXXXXXX.X.XXX.XXX.X.X.X.XXX.X.XXX.X.X.XXX.XXXXX.X
+X.....X.......X...X...X...X.X.......X...X.X...........X
+X.X.X.X.X.XXX.X.X.XXX.X.XXX.XXXXX.XXX.X.X.XXXXX.XXX.X.X
+X.X.X...X.......X...X...X.......X.X...X...........X.X.X
+X.X.XXX.X.X.X.XXXXX.XXX.X.X.XXX.X.X.X.XXXXX.XXXXX.X.X.X
+X.......X.X.X.............X.X.....X.X.....X.X.......X.X
+X.XXX.XXX.X.XXX.XXXXX.XXX.X.X.X.XXX.X.XXX.X.X.XXXXX.X.X
+X.....X...X.X...X...X...X.X...X...................X.X.X
+X.XXXXX.XXX.X.XXX.X.X.X.X.XXX.X.XXX.XXX.XXXXXXXXX.X.X.X
+X.......X.........X...X.X.......X.....................X
+X.XXX.X.X.XXXXX.X.XXXXX.X.XXXXX.X.XXXXX.X.XXX.XXXXX.XXX
+X.X...X.X.X.....X.............X.X.X.....X.........X...X
+X.X.XXX.X.X.X.XXXXX.XXXXX.XXX.X.X.X.XXX.XXXXX.XXX.XXX.X
+X...........X...........X.....X...X.........X.......X.X
+XXX.XXX.XXX.XXX.XXX.XXX.X.XXX.XXX.XXX.XXXXX.XXX.X...X.X
+X.........X.........X...X.................X.....X.....X
+X.X.XXXXX.X.XXX.XXX.X.X.XXXXX.XXX.XXX.XXX.X.X.XXX.XXX.X
+X.X...........X.X.....X.....X.......X.....X.X.......X.X
+X.X.XXXXX.XXX.X.X.XXX.XXXXX.X.XXX.X.XXX.X.X.X.X.XXX.X.X
+X.X.............X...X...........X.X...X.X...X.X.X...X.X
+X.XXX.XXXXX.XXX.XXX.XXXXX.XXXXX.X.X.X.X.X.X.X.X.X.XXX.X
+X...........X.............X.....X.X.X.X...X...X.X.X...X
+X.XXXXX.XXXXX.XXXXX.XXX.XXX.XXXXX.X.X.XXX.X.XXX.X.X.XXX
+X.X.............X.................X.........X.........X
+X.X.XXXXX.XXXXX.X.X.X.X.XXX.XXXXX.X.X.X.XXX.X.XXXXX.X.X
+X...X.....X.......X.X.X.X.......X...X.X.............X.X
+X.XXX.X.X.X.XXX.XXX.X.X.X.XXX.X.XXXXX.XXXXX.XXXXX.XXX.X
+X.X...X.X.X...X.X.............X...............X...X...X
+X.X.X.X.X.XXX.X.X.XXX.XXXXX.XXX.X.XXX.XXX.XXX.X.XXX.X.X
+X.X.X.X.........X...X.X...X.....X...X.....X...X.....X.X
+X.X.XXX.XXXXXXX.XXX.X.X.X.X.X.XXXXX.XXX.XXX.X.X.X.XXX.X
+X...X.............X.X...X.X.X.........X.X...X...X.....X
+X.X.X.X.XXX.XXXXX.X.X.X.X.X.X.XXXXXXX.X.X.XXX.X.XXXXX.X
+X.X...X.....X.......X.X.X.......X.............X.......X
+X.X.XXXXXXX.X.X.XXX.X.X.X.XXX.X.X.XXXXXXXXXXX.XXX.XXX.X
+X.X.....X.X...X.........X.....X.X...............X.....X
+X.X.XXX.X.XXX.X.XXX.XXX.X.XXX.X.XXXXX.XXXXXXXXX.X.X.X.X
+X.X...X.......X...X...X.......X.........X.........X.X.X
+X.X.X.XXX.X.XXX.X.XXX.X.XXX.X.XXX.XXXXX.X.X.XXXXX.X.X.X
+X...X...X.X.....X...X.....X.X...X.X.......X.........X.X
+X.XXX.X.X.XXX.XXX.X.X.XXX.X.X.X.X.X.XXXXXXX.XXXXXXXXX.X
+X.....X...........X...........X.......................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_56.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_56.maz
@@ -0,0 +1,58 @@
+57
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.........X.....................X.......................X
+X.X.XXXXX.X.XXX.XXX.XXX.XXX.XXX.X.XXX.XXXXXXX.XXXXXXX.X.X
+X.X.X...X.........X.....X.....X...X...................X.X
+X.X.X.X.XXX.XXXXX.X.X.XXX.X.X.X.X.X.XXX.X.XXX.X.XXX.XXX.X
+X.....X.....X.......X.X...X.X.X.X.......X.....X.........X
+X.X.X.X.X.X.X.X.X.X.X.X.XXX.X.X.X.X.X.X.XXX.X.X.XXXXX.X.X
+X.X.X.X.X.X...X.X.X...X.X.......X.X.X.X...X.X.X.......X.X
+X.X.X.X.X.X.XXX.X.XXX.X.X.XXX.XXX.X.X.XXX.X.X.X.X.X.XXX.X
+X.X...X.X.X.....X.......X.....X...X.X...X.......X.X.....X
+X.XXX.X.X.X.X.X.X.X.XXX.X.XXX.X.XXX.X.X.XXX.X.X.X.X.XXX.X
+X...X.....X.X.X...X.......X...X.X...X.X...X.X.X...X...X.X
+X.X.X.X.X.X.X.XXX.XXX.XXX.X.X.X.X.X.X.XXX.X.X.XXXXX.X.X.X
+X.X...X.X...................X.....X.....X...X.......X.X.X
+X.XXXXX.X.X.XXX.XXX.X.X.X.X.XXX.X.X.X.X.X.XXX.XXXXX.X.X.X
+X.......X.X.X.....X.X.X.X.X.X...X.X.X.X.......X.....X.X.X
+X.X.XXXXX.X.X.XXX.X.X.X.X.X.X.XXX.X.X.XXXXX.XXX.X.X.X.X.X
+X.X.......X...X.......X.............X...........X.X...X.X
+X.X.X.XXX.XXX.X.XXX.X.XXXXXXXXX.XXXXX.X.XXX.X.XXX.X.X.X.X
+X...X.......X...X...X.....X.....X.....X.X...X.......X.X.X
+XXXXX.XXX.X.X.X.X.XXX.XXX.X.XXX.X.XXXXX.X.X.XXXXX.X.X.X.X
+X...X...X.X...X.X.......X.........X.....X.X...X...X.....X
+X.X.X.X.X.XXXXX.X.XXX.X.X.XXX.X.XXX.X.XXX.XXX.X.XXXXX.X.X
+X.X...X.X.X.........X.X.......X.X...X...........X.....X.X
+X.X.XXX.X.X.XXXXX.X.X.XXX.XXXXX.X.X.XXX.XXXXXXX.X.X.X.X.X
+X.X...X.X.........X.X.............X.....X.......X.X.X...X
+X.X.X.X.XXX.X.XXXXX.X.X.XXX.XXX.X.X.XXX.X.X.XXX.X.X.XXX.X
+X...X.....X.X...X.....X.X.......X...X...X.X.X...X.X...X.X
+X.X.XXXXX.X.X.X.X.XXX.X.X.X.XXXXXXX.X.XXX.X.X.X.X.X.X.X.X
+X.X...........X.......X...X...X...X.X.....X...X.....X.X.X
+X.X.XXX.X.XXX.XXXXXXX.XXX.XXX.X.X.X.X.XXX.X.XXXXX.XXX.X.X
+X.X...X.X...X.......X...X.......X.....X.....X.......X...X
+X.XXX.X.X.X.X.X.X.X.X.X.X.X.X.XXX.XXX.X.XXXXX.X.XXX.X.X.X
+X...X...X.X...X.X.X.X.X...X.X.......X.......X.X.......X.X
+X.X.XXXXX.XXXXX.X.X.X.XXX.X.XXX.XXX.X.XXXXX.X.XXX.X.X.X.X
+X.X.....................X...X.....X.X.....X.......X.X...X
+X.X.XXX.X.X.X.XXX.XXXXX.X.X.X.XXX.X.XXX.X.XXX.XXX.X.X.XXX
+X.X.X...X.X.X...X.....X...X.....X.......X.....X.....X...X
+X.X.X.X.X.X.X.X.X.XXX.XXX.XXXXX.X.XXX.XXX.XXXXX.XXX.XXX.X
+X.X...X...X...X.X.X...........X...X...X.........X.....X.X
+X.XXX.X.X.XXX.X.X.X.X.XXXXXXX.X.X.X.X.X.X.XXX.X.X.X.X.X.X
+X...X...X...X...X.X.X.X.........X.X.X...X.....X.X.X.X.X.X
+X.X.X.X.XXX.X.X.X.X.X.X.XXXXX.XXX.X.XXX.X.XXXXX.X.X.X.X.X
+X.X...X...X...X.X...X.X.X.....X...X.......X.....X.......X
+X.XXX.XXX.XXXXX.X.X.X.X.X.X.X.X.X.XXX.XXX.X.X.X.XXXXX.XXX
+X...X.............X.....X.X.X.X.X...X.X.....X.X...X.....X
+X.X.XXX.XXXXXXX.XXX.X.X.X.X.X.X.XXX.X.X.X.X.X.XXX.X.XXX.X
+X.X...X.X.......X...X.X.................X.X.........X...X
+X.XXX.X.X.XXXXX.X.X.X.XXX.XXX.XXX.XXXXX.X.X.X.X.XXXXX.X.X
+X...X...X.........X.X.....X.....X.....X.X...X.X.......X.X
+X.X.XXX.X.XXXXX.X.X.XXX.XXX.XXX.X.XXX.X.XXX.X.X.XXXXX.X.X
+X.X...........X.X.....X.........X.....X.....X...X.......X
+X.X.X.XXX.X.X.X.XXX.X.XXXXX.XXXXX.XXX.X.XXX.X.XXX.X.XXX.X
+X...X...X.X.X.......X.............X.........X.X...X...X.X
+X.XXX.X.X.X.X.XXXXX.XXX.XXXXX.XXXXX.XXXXXXX.X.X.X.X.X.X.X
+X.....X.........................................X...X...X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rnd_62.maz
+++ netmaze-0.81+jpg0.82/mazes/rnd_62.maz
@@ -0,0 +1,64 @@
+63
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.........X.....................X.................X...........X
+X.X.XXXXX.X.XXXXX.XXX.XXXXXXXXX.X.X.XXXXXXXXXXXXX.X.X.XXX.XXX.X
+X.X.....X.X.......X...X.......X...X...X.........X...X.....X...X
+X.XXX.X.X.X.X.XXXXX.XXX.XXX.X.X.XXX.X.X.XXXXXXX.XXX.XXX.XXX.X.X
+X.....X.X.X.X.......X...X...X.X...X.X...X.....X...X...X.X...X.X
+X.XXXXX.X.X.X.XXXXX.X.XXX.XXX.XXX.X.XXXXX.XXX.XXX.X.X.X.X.XXX.X
+X.X...X.X...X.X...X.........X...X.......X.......X.X.X.X.X.....X
+X.X.X.X.X.XXX.X.X.X.XXXXXXX.X.X.XXXXXXX.X.XXXXX.X.X.X.X.XXX.XXX
+X.X.X.X...X...X.X...X.....X...X.......X.........X.X.X.X...X...X
+X.X.X.X.XXX.XXX.X.XXX.X.X.X.XXX.XXXXX.XXXXXXX.XXX.X.X.XXX.X.X.X
+X.X.X.X.....X.....X...X.X.....X.....X.......X.....X.....X...X.X
+X.X.X.XXX.XXX.X.XXX.XXX.X.XXX.X.XXX.X.XXX.X.XXX.X.XXXXX.X.XXX.X
+X.X.X...X.....X.....X.....X.....X...X.....X...X.X...X...X.....X
+X.X.X.X.XXXXX.XXX.XXX.XXX.X.XXXXX.XXX.XXXXX.X.X.XXX.X.X.XXX.X.X
+X.X...X.....X.....X.......X.X.....X...X...X.X.X...X.X.X...X.X.X
+X.X.X.X.XXX.XXXXX.X.XXXXX.X.X.X.XXX.X.X.X.X.X.XXX.X.X.X.X.X.X.X
+X.X.X.X...X.....X.......X.X...X.X...X.X.X...X...X.X.X.X.X.X...X
+X.X.X.XXX.XXX.X.XXXXXXX.X.XXX.X.X.X.X.X.XXXXX.X.X.X.X.X.X.XXXXX
+X.X.....X.....X.........X...X.X.X.X...X.......X.X...X.X.......X
+X.XXX.X.X.XXXXX.XXXXX.XXX.X.X.X.X.XXX.X.X.XXXXX.XXXXX.X.XXXXX.X
+X...X.X.X.......X...X.X...X.....X...X...X.X...X.......X.X...X.X
+XXX.X.X.XXX.XXXXX.X.X.X.XXX.XXXXX.X.X.XXXXX.X.X.XXXXX.X.X.X.X.X
+X...X.X.....X.....X.X.X...X...X...X.........X.X.X...X...X.X.X.X
+X.XXX.X.XXXXX.XXXXX.X.XXX.XXX.X.XXXXXXX.XXX.X.X.X.X.X.XXX.X.X.X
+X.X...X.X.....X...X.X...X.....X.......X...X.X.....X...X...X...X
+X.X.XXX.X.X.XXX.X.X.XXX.XXX.X.X.XXXXX.XXX.X.X.XXX.XXX.X.X.XXX.X
+X.X.....X.X.....X.X...X...X.X.X.X...X...X...X...X.X...X.X...X.X
+X.XXX.XXX.XXX.XXX.X.X.XXX.X.X.X.X.X.X.X.XXXXXXX.X.X.X.X.XXX.X.X
+X...X...........X...X.....X.X...X.X...X.........X.X.X.X.....X.X
+XXX.X.X.XXXXXXX.X.XXXXX.XXX.X.XXX.XXXXX.XXX.XXXXX.X.X.XXXXXXX.X
+X...X.X...X...X.X.......X.....X.........X...X.....X.X.........X
+X.XXX.XXX.X.X.X.XXX.XXXXX.XXXXX.XXXXXXX.X.XXX.XXX.X.X.XXXXX.XXX
+X.X.....X.X.X.X...X.X.....X.....X.....X...X.......X.X.X...X...X
+X.X.XXX.X.X.X.XXX.X.X.XXX.X.XXXXXXX.X.X.XXX.XXX.XXX.X.X.X.X.X.X
+X.X...X...X.X...X.....X...X...X.....X.X.......X.X.....X.X.X.X.X
+X.XXX.X.XXX.XXX.X.XXXXX.X.XXX.X.XXXXX.X.XXXXX.X.X.X.XXX.X.X.X.X
+X.......X.....X.........X...X.X.......X.X...X...X.X.......X.X.X
+XXXXXXX.X.XXX.X.XXXXXXXXX.X.X.X.XXXXX.X.X.X.X.XXX.XXX.XXX.X.X.X
+X.......X.....X.X.........X...X.X...X.X...X.X...X.X.....X.X...X
+X.XXX.X.X.XXXXX.X.XXXXX.XXX.XXX.X.X.X.XXX.X.XXX.X.X.XXX.X.XXX.X
+X.X...X.X.X.....X.X...X.X...X.X...X.X...X.....X...X.X...X...X.X
+X.X.XXX.X.X.XXXXX.X.X.X.X.XXX.X.XXX.XXX.X.XXX.XXXXX.X.XXX.X.X.X
+X...X.....X.........X...X.X.....X.......X.............X...X.X.X
+X.XXX.X.XXX.XXXXXXXXXXXXX.X.X.XXX.XXXXX.XXXXX.XXX.XXXXX.X.X.X.X
+X.X...X.X...X.............X.X.....X...X.....X.....X.....X.X...X
+X.X.X.X.X.XXX.XXX.XXXXX.X.X.X.XXXXX.X.XXXXX.X.XXX.X.X.XXX.X.X.X
+X.X.X...X...............X...X.X.....X...X...X...X...X.X.....X.X
+X.X.XXX.X.XXX.XXXXXXX.XXXXX.X.X.X.X.XXX.X.XXX.X.X.XXX.X.X.XXX.X
+X.X...X.X...X.X.......X.....X.X.X.X.X...X.X...X.X.X.....X.....X
+X.X.X.X.XXX.X.X.XXX.X.X.XXXXX.X.X.X.X.XXX.X.XXX.X.X.X.XXXXXXXXX
+X...X.....X...X.....X.X.X.....X...X...X...X.X...X.X.X.....X...X
+X.XXXXX.X.X.X.XXXXXXX.X.X.X.X.XXX.XXXXX.XXX.X.XXX.X.XXXXX.X.X.X
+X.X.X...X.X.X.........X...X.X...X.......X.....X...X.X...X...X.X
+X.X.X.X.X.X.X.XXX.XXXXX.XXX.X.X.X.X.XXXXX.XXX.X.XXX.X.X.XXXXX.X
+X.X...X...X...X...X.....X.....X.X.X.X.......X.X.....X.X...X...X
+X.XXX.XXXXX.XXX.XXX.X.XXX.XXXXX.X.X.X.XXXXX.X.XXX.X.X.X.X.X.X.X
+X...............X...X.....X.....X...X.X.....X...X.X.X...X.X.X.X
+X.XXXXX.XXX.XXX.X.XXXXX.XXX.XXX.XXXXX.X.X.XXXXX.X.X.X.XXX.X.X.X
+X.X...X.....X...X.......X.....X.........X.......X.X...X.....X.X
+X.X.X.XXXXXXX.X.XXXXXXXXX.XXX.XXXXXXXXXXXXX.XXXXX.XXXXX.X.XXX.X
+X...X.........X.........................................X.....X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rules24.maz
+++ netmaze-0.81+jpg0.82/mazes/rules24.maz
@@ -0,0 +1,26 @@
+24
+XXXXXXXXXXXXXXXXXXXXXXXXX
+X.......................X
+X.XXXXXXXXXXXXXXXXXXXXX.X
+X.......................X
+X.......................X
+X.......................X
+X.......................X
+X.......................X
+X.......................X
+X.......................X
+X.......................X
+X.......................X
+X.XXXXXXXXXXXXXXXXXXXXX.X
+X.......................X
+XXXXXXXXXXX.XXXXXXXXXXXXX
+X.......................X
+X.XXXXXXXXXXXXXXXXXXXXX.X
+X...........X...........X
+XXXXXXXXX.X.X.XXXXXXXXX.X
+X.........X...X.........X
+X.X.XXXXXXXXX.X.XXXXXXXXX
+X.X.......X...X.........X
+X.XXXXXXX.X.XXXXXXXXXXX.X
+X.........X.............X
+XXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rules26.maz
+++ netmaze-0.81+jpg0.82/mazes/rules26.maz
@@ -0,0 +1,28 @@
+26
+XXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.........................X
+X.XXX...................X.X
+X.......................X.X
+X.......................X.X
+X.........................X
+X.X.......................X
+X.X.......................X
+X.X...................XXX.X
+X.........................X
+XXX.XXX.XXXXXXXXXXX.XXX.XXX
+X.X...X...X.......X...X...X
+X.XXX.XXX.XXX.XXX.XXX.XXX.X
+X...X...X...X...X...X...X.X
+XXX.XXX.XXX.XXX.XXX.XXX.X.X
+X.....X...X...X...X...X...X
+X.XXX.XXX.XXX.XXX.XXX.XXX.X
+X...X...X...X.......X...X.X
+XXX.XXX.XXX.XXXXXXXXXXX.XXX
+X...X.........X...X.......X
+X.X.X.XXXXX.X.X.X.X.XXXXX.X
+X.X.X.X.....X...X.........X
+X.X.X.X.XXXXXXX.X.XXXXXXX.X
+X.....X.X.......X.X.......X
+X.XXXXX.X.X.XXXXXXXXX.XXX.X
+X.........X...............X
+XXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rules30.maz
+++ netmaze-0.81+jpg0.82/mazes/rules30.maz
@@ -0,0 +1,32 @@
+30
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.............................X
+X.....XXXXXXX...........XXX...X
+X.....X.....X.................X
+X.XXXXX.....XXXXX.....XXX...X.X
+X.X.........................X.X
+X.X.....................X...X.X
+X.X.....................X.....X
+X.XXX.......X...........X.....X
+X...X.......X...........X.....X
+X...X.......XXXXXXX.....X...X.X
+X...............X...........X.X
+X.......X.......X...........X.X
+X.......X.......X...........X.X
+X.......X.......X...X...XXXXX.X
+X.......X...........X.........X
+X...XXXXX...........X.........X
+X...X...............X.........X
+X...X...............XXXXX...XXX
+X...X...............X.........X
+X...X...............X.........X
+X...................X.........X
+X.........XXX.......X.......X.X
+X...........X...............X.X
+X.X.........X.............XXX.X
+X.X.........X.............X...X
+X.X.........XXXXXXX.....XXX...X
+X.X.....................X.....X
+X.XXXXX...............XXX.....X
+X.............................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rules36.maz
+++ netmaze-0.81+jpg0.82/mazes/rules36.maz
@@ -0,0 +1,38 @@
+36
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...................................X
+X...X.XXX.XXX.XXXXX.XXXXX.XXXXX.X...X
+X...X...........................X...X
+X...X.XXX...XXX.X.XXXXX.XXX.....X...X
+X...X...X.......X...................X
+X...X...X.......X.....XXX.XXXXXXX...X
+X...X...X.......X.......X.X.........X
+X...X...XXX.X...X.......X.X.XXXXX...X
+X...........X...X...........X.......X
+X...XXXXX...X...X.........XXXXXXX...X
+X...X.......X...................X...X
+X...X.X...XXX.X.......X...XXX.X.X.X.X
+X...X.X...X...X.......X.....X.X.X.X.X
+X.XXXXX...X.XXX.....XXX.....X.X.X.X.X
+X.........X.X.......X.......X.X...X.X
+X...X...XXX.X.......X.....XXX.XXXXX.X
+X...X.....................X.........X
+X...XXXXXXX...............X.........X
+X...................................X
+X.....XXXXX...........X.........X...X
+X.....X...............X.........X...X
+XXX.X.X.....XXX.......XXXXXXX...X...X
+X...X.........X.............X...X...X
+X...XXXXX.X...XXX.....X.XXXXX...X...X
+X...X.....X.....X.....X.X.......X...X
+X...X.....X.....X...XXX.X.......X...X
+X...X.....X.....X...............X...X
+X...X.XXXXX.....X...XXXXX.XXXXX.X...X
+X.......................X.X.....X...X
+X...XXX.XXX.XXXXX...XXX.X.X.XXXXX.X.X
+X...X.........X.......X...X.......X.X
+X...XXXXX.XXXXX.......XXXXXXXXX...X.X
+X.......X.............X...........X.X
+X.......XXX...XXXXXXXXX.XXX.XXXXXXX.X
+X...................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rules40.maz
+++ netmaze-0.81+jpg0.82/mazes/rules40.maz
@@ -0,0 +1,42 @@
+40
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...............X.......................X
+X.X.XXXXX.X.X.X.X.XXXXX.......XXXXX...X.X
+X.X.X...X.X.X.X.X.X...........X.......X.X
+X.X.X.X.X.X.X.X.X.X...........X.......X.X
+X.X.X.X.X.X.X.X.X.X...........X.......X.X
+X.X.X.X.X.X.X.X.X.X...XXXXX...X.XXX...X.X
+X.X.X.X.X.X.X.X.X.........X.....X.......X
+X.X.X.X.X.X.X.X.XXXXX.....X...XXX.X.....X
+X.X.X.X.X.X.....X...X.....X.......X.....X
+X.X.X.X.X.XXXXXXX.X.XXX.X.X.....XXXXXXX.X
+X.X...X.......X...X...X.X.............X.X
+X.XXXXX.XXXXX.X.XXXXX.X.XXXXX.........X.X
+X.X...X.X...................X.........X.X
+X.X.X.X.X...................XXXXX...XXX.X
+X.X.X.X.X...............................X
+X.X.X.X.X...................XXXXXXXXXXXXX
+X.X.X...X...................X...........X
+X.X.X.XXX...................X.X.XXX.X...X
+X...X.......................X.X.....X...X
+XXXXXXX.X...................X.X.X...X...X
+X.X.X.X.X...................X.X.X.......X
+X.X.X.X.X...................X.X.X...X...X
+X.......X.....................X.X...X...X
+XXXXXXXXX...................XXX.X...XXX.X
+X...X...X.......................X.......X
+X.X.X.X.X...................X.X.X...XXX.X
+X.X...X.X...................X.X.......X.X
+X.XXXXX.X...................X.XXXXXXX.X.X
+X...........................X...........X
+XXXXXXXXX...................XXXXXXXXXXXXX
+X...X...................................X
+X...X.X.XXX.XXXXX.X.X.XXXXXXX.XXXXXXX...X
+X.....X...X.......X.X.X...X...X.........X
+X...XXXXX.XXXXXXXXX.X.X...X...X.....XXX.X
+X.....X.............X.....X...X.......X.X
+X.....X...XXXXXXX...X.....X...XXXXX...X.X
+X.....X.............X.............X...X.X
+X.....X...XXXXXXX...X.............X...X.X
+X...................X...................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/rules62.maz
+++ netmaze-0.81+jpg0.82/mazes/rules62.maz
@@ -0,0 +1,64 @@
+63
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...............................X.............................X
+X...XXXXX.........X...XXXXXXXXX.X...XXXXXXXXXXXXX.........XXX.X
+X.......X.........X...X.........................X.........X...X
+X.......XXXXX...XXX...X.....X.......X...........XXX.....XXX...X
+X...........X.....X.........X.......X...................X.....X
+X.XXXXX.....X.....X.........XXXXX...XXXXXXX...XXX...X...X.....X
+X.X...X.....X...................X...............X...X...X.....X
+X.X...X.....X.......XXXXXXX.....XXXXXXX.........X...X...XXX...X
+X.X...X.............X.....X...........X.........X...X.....X...X
+X.X...X...........XXX.....X...........X.......XXX...X.....X...X
+X.X...X...........X...........................................X
+X.X...XXX.......XXX.......XXX.......X.....X.....X.........XXX.X
+X.X.......................X.........X.....X.....X...........X.X
+X.X...X...............XXX.X.......XXX...XXX.....XXX...X.....X.X
+X.X...X...................X.......X.......X.......X...X.....X.X
+X.X...X.....XXXXX.........X.....XXX.......XXX.....X...X.....X.X
+X.X...X.........X.........X.....X.................X...X.......X
+X.X...XXX.......XXXXXXX...XXX...X.................X...X.......X
+X.X.....X.......................X.............................X
+X.XXX...X.......XXXXX...........X.........XXXXX.........XXXXX.X
+X...X...X.......X...X...........X.........X.............X...X.X
+XXX.X...X...XXXXX...X...XXX...XXX.....XXXXX.....XXXXX...X...X.X
+X...X.......X.......X.....X.....................X.......X...X.X
+X.XXX...XXXXX.......X.....XXX.....XXXXX.........X.....XXX...X.X
+X.X.................X.......X.........X...............X.......X
+X.X.............X...XXX.....X...XXX...XXX.............X.......X
+X.X.............X.....X.....X...X.......X.............X.......X
+X.XXXXXXX.....XXX.....XXX...X...X.......XXXXXXX.....X.X.......X
+X...X...........X...............X...................X.X.......X
+XXX.X...........X.............XXX.......XXX.........X.X.......X
+X...X...........X.............X.........X...........X.........X
+X.XXX.......X...XXX.......XXXXX.........X.....XXX...X...XXX...X
+X.X.........X.....X.......X.........................X.....X...X
+X.X.........X.....X.......X.........X...............X.....X...X
+X.X.........X.............X.........X.....................X...X
+X.XXX.......XXX...........XXX...XXXXX...XXXXX.....X.......X...X
+X.............X.............X.....X.........X.....X.......X...X
+XXXXXXX.......X...XXXXXXX...X.....XXX.......X.....X.......X...X
+X.............X.........X...........X.......X.....X.......X...X
+X.....X...XXXXX.........X...........X.......XXX...X.......XXX.X
+X.....X...X.........................X.........X...X.........X.X
+X...XXX...X.........X...............XXX.......XXXXX...X.....X.X
+X...X.....X.........X.................................X.....X.X
+X.XXX...XXX...XXXXXXXXXXX.........XXXXX...........XXXXX.....X.X
+X.......X.............................X...........X...........X
+X.......X...............X.....XXX.....XXXXX.......X.X.........X
+X.......................X.....X.........X...........X.........X
+X.........XXX.........XXXXX...X.........X.....X...XXX.........X
+X...........X.........X.......X.........X.....X...X...........X
+X...X.......XXXXX.....X.......X.......XXX...XXX...X...XXXXXXXXX
+X...X.......X.........X...............X.....X.....X.......X...X
+X.XXXXX.....X.........X.............XXX.....X.....X.......X...X
+X.X.........X.........X...........................X...........X
+X.X.........X.....XXXXX.......X...........XXX...XXX...X.......X
+X.X...............X...........X.............X.........X.......X
+X.XXX...........XXX.......XXXXX.......XXXXXXX.........XXX.....X
+X...............X.........X...........X.................X.....X
+X...XXX.........X.......XXX...........X...............XXX.....X
+X.....X.........X.......X.............................X.......X
+X.....XXXXX...X.X...XXXXX...................XXXXX.XXXXX.......X
+X.............X...............................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/s_70.maz
+++ netmaze-0.81+jpg0.82/mazes/s_70.maz
@@ -0,0 +1,72 @@
+70
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.....................................................................X
+X...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...X
+X.....................................................................X
+X.X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.................................................................X.X
+X.X.................................................................X.X
+X.X.................................................................X.X
+X.X.................................................................X.X
+X.X.................................................................X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.X.............................................................X.X.X
+X.X.XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.....XXXXXXXXXXXXXXXXXXXXXXXXXXXXX.X.X
+X.....................................................................X
+X...XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX...X
+X.....................................................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/sah_06.maz
+++ netmaze-0.81+jpg0.82/mazes/sah_06.maz
@@ -0,0 +1,8 @@
+06
+XXXXXXX
+X.....X
+X.X...X
+X.X...X
+X.XXX.X
+X.....X
+XXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/sah_16.maz
+++ netmaze-0.81+jpg0.82/mazes/sah_16.maz
@@ -0,0 +1,18 @@
+16
+XXXXXXXXXXXXXXXXX
+X...............X
+X.....X...X.XXXXX
+X.....X...X.....X
+X.X...X...X.....X
+X.X.............X
+X.X...XXXXXXX...X
+X...............X
+X...X.X...XXXXX.X
+X...X.X.......X.X
+X...X.X.......X.X
+X...X.X.......X.X
+X...XXX...XXXXX.X
+X.....X.........X
+X.....X.....XXX.X
+X.............X.X
+XXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/stipp_36.maz
+++ netmaze-0.81+jpg0.82/mazes/stipp_36.maz
@@ -0,0 +1,38 @@
+36
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X...................................X
+X.XXX.X.XXX...X.XXX...X.XXX.X.X.XXX.X
+X.X...X.X.....X...X...X.....X.X.X...X
+X.X...X.X.X.XXX...X.X.X.XXX.X.X.X.X.X
+X.....X...X.........X...X...X.....X.X
+X...X.X.X.X.X.XXX...X.X.X.X.X.XXX.X.X
+X...X...X...X...X.....X...X.....X...X
+X.X.X.X.XXX.XXX.X.XXX.XXX.XXX...X.X.X
+X.X...X...........X...............X.X
+X.XXX.XXX.XXX.XXX.X.XXX.X.XXX.XXX.X.X
+X...........X...........X.......X...X
+X.XXX.XXX.X.X.XXX.XXX.X.X.XXX.X.X...X
+X.X.......X...........X.......X.....X
+X.X...X...X.XXX...X...X.X.XXX.X.XXX.X
+X.....X...........X...X.X...........X
+X.XXX.X.XXX...XXX.XXX.X.X.X.X.XXX.X.X
+X.X.............X.........X.X.....X.X
+X.X.XXX.XXX.X...X.X.X.XXX.X.X.X.XXX.X
+X...X.......X.....X.X.....X.X.X.....X
+X...X.X...X.X.XXX.X.X.X.X.X.X.X.X.X.X
+X.....X...X.X.X...X.X.X.X.......X.X.X
+X.XXX.X.XXX.X.X...X.X.X.X.XXX...X.X.X
+X.X...............................X.X
+X.X.X.XXX.X...XXXXX.XXXXX...XXX...X.X
+X...X.X...X.........................X
+X...X.X.X.XXX.XXX.X.XXX.XXX.X...XXX.X
+X.......X.........X...X.....X.......X
+X.XXX.X.X.XXX.XXX.XXX.X.X...X.XXX...X
+X.....X.................X.....X.....X
+X.X.X.X.XXX.XXX.XXX.XXX.X.XXX.X.X.X.X
+X.X.X.....X.........X...X...X...X.X.X
+X.X.X.XXX.X.XXXXX.X.X...X.X.X.X.X.X.X
+X.......X.........X.......X...X.....X
+X.XXX...X...XXXXX.X.XXXXX.XXX.X.XXX.X
+X...................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/stipp_38.maz
+++ netmaze-0.81+jpg0.82/mazes/stipp_38.maz
@@ -0,0 +1,40 @@
+38
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.....................................X
+X.XXX.XXX.X.XXX.XXX.X...XXX.XXX.XXX.X.X
+X.......X.X.X.......X...............X.X
+X.XXXXX.X.X.X...XXX.X.X...X.X.X.X...X.X
+X.....................X...X.X.X.X...X.X
+X.X...X.XXX.X.XXX.X.X.XXX.X.X.X.XXX.X.X
+X.X...X.....X.....X.X.........X.......X
+X.XXX.XXX...X.XXX.X.X.XXX.X.X.X.XXXXX.X
+X.......................X.X.X.........X
+X.XXX.X...X.XXX...X.XXX.X.X.XXX...XXX.X
+X.X...X...X.......X.................X.X
+X.X...XXX.X.XXX.XXX.XXX.X.XXX.X.XXX.X.X
+X.........X.........X...X.X...X.......X
+X...XXXXX.X...XXXXX.X.X.X.X.X.X.XXX...X
+X.....................X.....X.....X...X
+X.XXX.X.XXX.XXX.X.XXX.X.XXX.X.X.X.X.X.X
+X.....X.........X.......X.....X.X...X.X
+X.X.X.X.X.X.XXX.X.X.XXX.X.XXX.X.X.X.X.X
+X.X.X.X.X.X...X...X.X.............X...X
+X.X.X.X.X.XXX.X...X.X.X...XXXXX.X.X...X
+X.....................X.........X.X...X
+X.XXX.XXX.XXX.X.XXX.X.X.XXX.X.X.X.X.X.X
+X.......X.....X.....X.....X.X.X.....X.X
+X.X.XXX.X.XXX.X.X.XXX.XXX.X.X.X.X.XXX.X
+X.X...X.........X...............X.....X
+X.XXX.X...XXXXX.XXX...XXX.X.XXX.X...X.X
+X.........................X.........X.X
+X.X.X.X.XXX...X.X.X.X.XXX.XXX.X...X.X.X
+X.X.X.X...X...X.X.X.X...X.....X...X...X
+X.X.X.XXX.X.X.X.X.X.XXX.X.XXX.XXX.X.X.X
+X...........X...X.X.........X.......X.X
+X.XXX.XXX...X...X.X.X.X.X.X.X.XXXXX.X.X
+X...................X.X.X.X...........X
+X.X...X.X.XXX.X.XXX.X.X.X.X...XXX.X.X.X
+X.X...X.X...X.X.X.....X.X.........X.X.X
+X.XXX.X.XXX.X.X.X.XXX.X.X.XXXXX.XXX.X.X
+X.....................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/stipp_40.maz
+++ netmaze-0.81+jpg0.82/mazes/stipp_40.maz
@@ -0,0 +1,42 @@
+40
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.......................................X
+X.XXX.X.X.XXX.X.X.XXX.XXX.XXX...X.X.XXX.X
+X.....X.X.....X.X...............X.X.....X
+X.XXX.X.X.XXX.X.X.X.X.X.XXX.X.X.X.X.XXX.X
+X.......X.X...X...X.X.X.....X.X.......X.X
+X.XXX.X.X.X.X.X.XXX.X.XXX.X.X.XXX.XXX.X.X
+X.X...X.....X.............X.............X
+X.X.X.X.XXX.X.XXXXX.X...X.X.X...X.X.XXX.X
+X...X.X.............X...X...X...X.X...X.X
+X.X.X.X.X.XXX.XXX.XXX.X.X.X.X.X.X.X...X.X
+X.X.....X.............X...X...X.........X
+X.X.X.X.X.XXX.XXXXX.X.X.XXX...X.X.X.X...X
+X...X.X.............X...........X.X.X...X
+X.X.X.X.XXX.XXXXX.XXX.XXX.XXX.X.X.X.X.X.X
+X.X...........................X.......X.X
+X.XXX.XXX.XXXXX...XXX.X.XXX.X.XXX.XXX.X.X
+X.....................X.X...X...........X
+X.XXX...X.XXX.X.X.X.X.X.X.XXX.X.XXX.XXX.X
+X.X.....X.X...X.X.X.X.........X.X.....X.X
+X.X.XXX.X.X.X.X.X.X.X.X.X.XXX.X.X.XXX.X.X
+X.......X...X.X...X...X.X...X.X.........X
+X.X.XXX.X.XXX.X.X.X.X.X.X.X.X.X.X.XXX.X.X
+X.X.............X...X.....X.....X.....X.X
+X.X.X.XXX.XXX.X.X.X.X.X...X.XXX.X.XXX.X.X
+X...X.....X...X...X...X...............X.X
+X.XXX.XXX.X.XXX.X.X.X.XXX.X.X.XXX.XXX.X.X
+X...............X.X.X.....X.X...........X
+X.X...X.XXX.XXX.X.X.X.X.XXX.XXX.X.X.XXX.X
+X.X...X...X.X.........X.........X.X.X...X
+X.X.X.X...X.X...XXX.XXX.X.XXX.XXX.X.X.X.X
+X...X...................X.X...........X.X
+X.X.X...X.X.XXX.XXX.XXX.X.X.XXX.X...X.X.X
+X.X.X...X.X.....................X...X...X
+X.X.X.XXX.X.X...XXX.XXX.XXX.XXX.XXX.XXX.X
+X...........X...........X...............X
+X.X.XXX.X.X.X.X.X.X.X.X.X.XXX.XXX.X...X.X
+X.X.....X.X.X.X.X.X.X.X...........X...X.X
+X.X.XXX.X.X.X.X.X.X.X.X.XXX.XXXXX.X.XXX.X
+X.......................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/stipp_42.maz
+++ netmaze-0.81+jpg0.82/mazes/stipp_42.maz
@@ -0,0 +1,44 @@
+42
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
+X.........................................X
+X.XXX.XXXXX.X...X.X.XXX...XXX.X.X.XXXXX...X
+X.X.........X...X.X...X.....X.X.X.........X
+X.X.X...X...X.XXX.X.X.X.XXX.X.X.X.XXX.XXX.X
+X...X...X...........X...................X.X
+X.XXX.X.XXX.XXX.X...X.XXX.X...X.XXX.X...X.X
+X.....X.........X.........X...X.....X.....X
+X.XXX.X.XXX...XXX.X.X.XXX.X.XXX.X.XXX.X...X
+X.................X.X...........X.....X...X
+X.X...XXXXX.X.XXX.X.X.X.XXX.XXX.XXX.X.XXX.X
+X.X.........X.........X.............X.....X
+X.X.X...XXX.X.X.XXX.XXX.XXX.XXXXX...XXX.X.X
+X.X.X...X.....X...X.....................X.X
+X.X.XXX.X.XXX.X...X.XXX.XXX.XXX.X.XXX...X.X
+X...........................X...X.........X
+X.X.X...XXX.X.X.XXX.X.XXXXX.X.X.XXX.XXX.X.X
+X.X.X.......X.X.....X.........X.......X.X.X
+X.X.X.XXX...X.X.XXX.X.X.X.XXX.XXX.XXX.X.X.X
+X.X.X.X.............X.X.X...............X.X
+X.X.X.X.X.XXX...X.X.X.X.X.X.XXX.X.XXX.X.X.X
+X.......X.......X.X.......X.....X.....X...X
+X.X.XXX.X.XXX.XXX.X.X.X...X.XXX.X.X.XXX.X.X
+X.X...X.............X.X...X.......X.....X.X
+X.X.X.X.X.XXXXX.X.X.X.XXX.X.X.XXX.XXX.X.X.X
+X...X...X.......X.X.X.......X.........X...X
+X...X.X.X...XXX.X.X.X...XXX.X.XXX.XXX.XXX.X
+X.....X.............................X.....X
+X.XXX.X...X.XXX.X.X.XXX...XXXXX.XXX.X.XXX.X
+X.....X...X.....X.X...............X.....X.X
+X.XXX.X.X.X.X...X.X.X.XXX.X.XXX.X.X.X.X.X.X
+X.......X...X.......X.....X.....X...X.X...X
+X.X...X.XXX.X.XXX.XXX...XXX.X.X.XXX.X.XXX.X
+X.X...X.....................X.X.....X.....X
+X.X.XXX.XXX.XXX.X.X...XXX.XXX.X...X.X...X.X
+X.............X.X.X...X...........X.....X.X
+X...X.X.X.XXX.X.X.X.X.X.XXX.X.X.XXX.X.X.X.X
+X...X.X.X...X.....X.X.....X.X.X.....X.X.X.X
+X.X.X.X.X...X.XXX.X.X.XXX.X.X.X.XXX.X.X.X.X
+X.X.......................................X
+X.XXX.XXX.XXX.XXX.XXX.XXX...XXXXX.XXXXX...X
+X.........................................X
+XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/mazes/test.maz
+++ netmaze-0.81+jpg0.82/mazes/test.maz
@@ -0,0 +1,12 @@
+11
+XXXXXXXXXXX
+X.X.......X
+XXX.XXXXX.X
+X.X.X.X.X.X
+XXX.XXXXX.X
+X...X.X.X.X
+X.XXXXXXX.X
+X.X.X.X.X.X
+X.XXXXXXX.X
+X.........X
+XXXXXXXXXXX
--- netmaze-0.81+jpg0.82.orig/netmaze.c
+++ netmaze-0.81+jpg0.82/netmaze.c
@@ -113,7 +113,7 @@
sm->sologame = FALSE;
if(strlen(argv[i]) > 255)
{
- fprintf(stderr,"Hostname too long!!\n");
+ fprintf(stderr,"Hostname too int!!\n");
exit(1);
}
strcpy(sm->hostname,argv[i]);
@@ -128,7 +128,7 @@
i++;
if(strlen(argv[i]) >= MAXNAME)
{
- fprintf(stderr,"Name too long. Maximum is %d character.\n",MAXNAME-1);
+ fprintf(stderr,"Name too int. Maximum is %d character.\n",MAXNAME-1);
exit(1);
}
strcpy(sm->ownname,argv[i]);
@@ -169,7 +169,7 @@
i++;
if(strlen(argv[i]) >= MAXCOMMENT)
{
- fprintf(stderr,"Comment too long. Maximum is %d character.\n",MAXCOMMENT-1);
+ fprintf(stderr,"Comment too int. Maximum is %d character.\n",MAXCOMMENT-1);
exit(1);
}
strcpy(sm->owncomment,argv[i]);
@@ -507,7 +507,7 @@
if((s=getenv("NETMAZE_NAME"))!=NULL)
{
if(strlen(s) > 15)
- fprintf(stderr,"NETMAZE_NAME too long!\n");
+ fprintf(stderr,"NETMAZE_NAME too int!\n");
else
strcpy(sm->ownname,s);
}
@@ -516,7 +516,7 @@
if((s=getenv("NETMAZE_COMMENT"))!=NULL)
{
if(strlen(s) > 31)
- fprintf(stderr,"NETMAZE_COMMENT too long!\n");
+ fprintf(stderr,"NETMAZE_COMMENT too int!\n");
else
strcpy(sm->owncomment,s);
}
--- netmaze-0.81+jpg0.82.orig/netmaze.h
+++ netmaze-0.81+jpg0.82/netmaze.h
@@ -10,6 +10,8 @@
#define NETMAZEPORT 12346
+#define RS6000 1
+
#define TRUE 1
#define FALSE 0
@@ -67,7 +69,7 @@
#define WINNERANZ 10
#define MAXNAME 16
-#define MAXCOMMENT 32
+#define MAXCOMMENT 70
#define MAPSIZE 100
@@ -86,6 +88,7 @@
#define GM_DESTRUCTSHOTS 0x1000 /* - destruct shots on kill */
#define GM_DECSCORE 0x2000 /* - decrease score of a killed player */
#define GM_RANKSCORE 0x4000 /* - rankingdependend score-bonus */
+#define GM_TEAMSHOTHURT 0x8000 /* Shots from others on team hurt */
/* maze-data defines: */
#define MAZE_TYPEMASK 0x000f
@@ -95,7 +98,7 @@
struct fd_mask
{
- u_long fds_bits[NOFILE/32+1];
+ u_int fds_bits[NOFILE/32+1];
};
/* Structur auf MAZE. Here is all important maze-stuff */
@@ -111,18 +114,18 @@
int xdim;
int ydim;
char *setlist;
- long *bitlist;
+ int *bitlist;
} MAZE;
/* PLAYER-Struct */
typedef struct {
- long sx;
- long sy;
- long sxd;
- long syd;
+ int sx;
+ int sy;
+ int sxd;
+ int syd;
int salive;
- long power;
+ int power;
int next; /* next shot in chain */
int last; /* last shot in chain */
} SHOT;
@@ -160,8 +163,8 @@
char name[MAXNAME+1];
char comment[MAXCOMMENT+1];
int team;
- long x;
- long y;
+ int x;
+ int y;
int winkel;
int fitness;
int follow;
@@ -197,8 +200,8 @@
int x2,h2;
int ident;
int rclip,lclip;
- long xd,yd;
- long rmax,rmin;
+ int xd,yd;
+ int rmax,rmin;
int clipped; /* need for texture */
} WALL;
@@ -287,8 +290,8 @@
int marks; /* # markers */
mapmark markers[32]; /* Map markers */
int rndshiftpos; /* Random */
- long rndshifttab[55]; /* more random-stuff */
- volatile unsigned long drawwait; /* delay Draw .. */
+ int rndshifttab[55]; /* more random-stuff */
+ volatile unsigned int drawwait; /* delay Draw .. */
/* flags */
volatile int gameflag:1; /* Game-is-running-flag */
--- netmaze-0.81+jpg0.82.orig/netserv.c
+++ netmaze-0.81+jpg0.82/netserv.c
@@ -47,8 +47,8 @@
struct cqueue *cfirst;
struct gqueue *gfirst;
-volatile unsigned long timerticks=0;
-unsigned long lasttick=0,starttick=0;
+volatile unsigned int timerticks=0;
+unsigned int lasttick=0,starttick=0;
int acc_socket;
int menu_in=0,menu_out=1,use_exmenu=FALSE;
@@ -79,7 +79,7 @@
void usage(void);
void print_menu(void);
-void print_timerinfo(unsigned long);
+void print_timerinfo(unsigned int);
void list_connections(void);
void handle_input(void);
@@ -92,6 +92,8 @@
void start_signal(void);
void io_cntl(void);
void handle_sigchild(int s);
+int read_pipe(int socket, char *buf, int maxlen);
+int read_buffer(int fd, char *buf, int count);
void accept_socket(void);
void close_timeout_sockets(struct gqueue *);
@@ -106,7 +108,7 @@
#ifdef HAVE_FDSET
- struct fd_set readmask;
+ fd_set readmask;
#else
struct fd_mask readmask;
#endif
@@ -123,6 +125,11 @@
struct itimerstruct value,ovalue;
#endif
+int use_tclmenu = 0; /* JG HACK */
+int suppressXnag = 0;
+char tclcommand[200];
+
+void sendcommand(void);
/**************************************
* main()
@@ -151,6 +158,10 @@
}
else if(strcmp(argv[i],"-nowait") == 0)
nowait = TRUE;
+ else if(strcmp(argv[i],"-suppressXnag") == 0)
+ suppressXnag = 1;
+ else if(strcmp(argv[i],"-tclmenu") == 0)
+ use_tclmenu = TRUE;
else
usage();
}
@@ -210,8 +221,13 @@
if (listen(acc_socket, 5) == -1 ) { perror(argv[0]); exit(1); }
start_signal();
- printf(" Netmaze Server 0.36alpha/March 1994 by MH ...\n");
+ printf(" Netmaze Server 0.36alpha/March 1994 by MH; ");
+ printf(" Modified by John Goerzen Oct, 1996 (.81)\n");
printf(" Using Port: %d\n",NETMAZEPORT);
+ if (!suppressXnag) {
+ printf(">>>>>>>>>>>>\a\a CHECK OUT THE NEW xnetserv PROGRAM!\a\n");
+ printf(">>>>>>>>>>>> The all new interface to the Netmaze server.\n");
+ }
print_menu();
for(;;)
@@ -353,9 +369,19 @@
}
break;
case MENU_DISCONNECT:
+ close(acc_socket);
if(pl != NULL)
break;
i = (int) line[1];
+/* for(p=g->first,i=0;p!=NULL;p=p->gnext,i++)
+ for(p=g->first;p!=NULL;p=p->gnext,i--)
+ {
+ if(!i)
+ {
+ break;
+ }
+ }
+ i = (int) line[1]; */
for(q=cfirst;q!=NULL;q=q->next,i--)
{
if(!i)
@@ -381,11 +407,17 @@
break;
case MENU_SETTEAMS:
for(p=g->first,i=0;p!=NULL;p=p->gnext,i++)
+
{
if((p->team < 0) || (p->team > MAXPLAYERS))
p->team = 0;
else
- p->team = (int) line[i+1];
+ p->team = (int) line[i+1];
+
+ if((q->players->team < 0) || (q->players->team > MAXPLAYERS))
+ q->players->team = 0;
+ else
+ q->players->team = (int) line[i+1];
}
break;
}
@@ -406,11 +438,17 @@
struct pqueue *p;
memset(line,0,256);
- len = read(0,line,255);
+ if (use_exmenu && use_tclmenu) {
+ len = read_pipe(menu_in, line, 255);
+ } else {
+ len = read(0,line,255);
+ }
+ /* JG HACK */
if(len == 0)
{
fprintf(stderr,"OOPS: end-of-file??\n");
+ exit(255); /* JG added this line */
return;
}
@@ -418,6 +456,8 @@
if(a == 0)
{
printf("Unknown command\n");
+ sprintf(tclcommand, "MESSAGE\nUnknown command\n");
+ sendcommand();
print_menu();
return;
}
@@ -428,11 +468,15 @@
if(a == 1)
{
printf("OK .. re-initalize builtin-maze\n");
+ sprintf(tclcommand, "MESSAGE\nOK... re-initialize built-in maze\n");
+ sendcommand();
if(create_maze(&(g->maze)))
g->nomaze=FALSE;
else
{
printf("Can't init maze\n");
+ sprintf(tclcommand, "MESSAGE\nCan't initialize maze.\n");
+ sendcommand();
g->nomaze=TRUE;
}
}
@@ -444,20 +488,30 @@
{
g->nomaze=FALSE;
printf("Maze is OK!\n");
+ sprintf(tclcommand, "MESSAGE\nMaze is OK!\n");
+ sendcommand();
}
else
{
g->nomaze=TRUE;
printf("Can't load '%s'\n",name);
+ sprintf(tclcommand, "MESSAGE\nCan't load \"%s\"\n", name);
+ sendcommand();
}
}
else
{
sscanf(line,"%d%d%d",&c,&i,&j);
- if(random_maze(&(g->maze),i,j))
+ if(random_maze(&(g->maze),i,j)) {
printf("Randommaze is ok!\n");
- else
+ sprintf(tclcommand, "MESSAGE\nRandom maze is ok.\n");
+ sendcommand();
+ }
+ else {
printf("Error, size too big!\n");
+ sprintf(tclcommand, "MESSAGE\nError, size too big.\n");
+ sendcommand();
+ }
}
}
break;
@@ -466,11 +520,15 @@
if(g->nomaze == TRUE)
{
printf("Load/Reinit a Maze first!\n");
+ sprintf(tclcommand, "MESSAGE\nLoad/reinit a maze first!\n");
+ sendcommand();
return;
}
if(g->numplayers == 0)
{
printf("No players yet!\nTry again later\n");
+ sprintf(tclcommand, "MESSAGE\nNo players net; try again later.\n");
+ sendcommand();
return;
}
if(a == 1)
@@ -500,14 +558,21 @@
if(teams[j] > g->numteams) g->numteams = teams[j];
g->numteams++;
- if(g->numplayers == 0)
+ if(g->numplayers == 0) {
printf("No player yet!\nTry again later\n");
+ sprintf(tclcommand, "MESSAGE\nNo player yet; try again later.\n");
+ sendcommand();
+ }
else
{
start_game(g,teams);
}
}
- else printf("Illegal team-selection!\n");
+ else {
+ printf("Illegal team-selection!\n");
+ sprintf(tclcommand, "MESSAGE\nIllegal team selection.\n");
+ sendcommand();
+ }
}
break;
case 3:
@@ -529,10 +594,71 @@
}
}
}
- else
+ else {
printf("Too few parameters.\n");
+ sprintf(tclcommand, "MESSAGE\nToo few parameters.\n");
+ sendcommand();
+ }
break;
- case 6:
+
+/* JG HACK.... */
+ case 21: g->gamemode = (g->gamemode & GM_REFLECTINGSHOTS) ?
+ g->gamemode - GM_REFLECTINGSHOTS : g->gamemode | GM_REFLECTINGSHOTS;
+ printf("Reflect (bounce) toggled.\n");
+ break;
+ case 22: g->gamemode = (g->gamemode & GM_DECAYINGSHOTS) ?
+ g->gamemode - GM_DECAYINGSHOTS : g->gamemode | GM_DECAYINGSHOTS;
+ printf("Decay (shots lose power) toggled.\n");
+ break;
+ case 23: g->gamemode = (g->gamemode & GM_MULTIPLESHOTS) ?
+ g->gamemode - GM_MULTIPLESHOTS : g->gamemode | GM_MULTIPLESHOTS;
+ printf("Multishots toggled.\n");
+ break;
+ case 24: g->gamemode = (g->gamemode & GM_WEAKINGSHOTS) ?
+ g->gamemode - GM_WEAKINGSHOTS : g->gamemode | GM_WEAKINGSHOTS;
+ printf("Hurts to shoot toggled..\n");
+ break;
+ case 25: g->gamemode = (g->gamemode & GM_REPOWERONKILL) ?
+ g->gamemode - GM_REPOWERONKILL : g->gamemode | GM_REPOWERONKILL;
+ printf("Full power after killing someone toggled.\n");
+ break;
+ case 26: g->gamemode = (g->gamemode & GM_FASTRECHARGE) ?
+ g->gamemode - GM_FASTRECHARGE : g->gamemode | GM_FASTRECHARGE;
+ printf("Fast recharge toggled.\n");
+ break;
+ case 27: g->gamemode = (g->gamemode & GM_FASTWALKING) ?
+ g->gamemode - GM_FASTWALKING : g->gamemode | GM_FASTWALKING;
+ printf("Fast walking toggled.\n");
+ break;
+/* case 28: g->gamemode = (g->gamemode & GM_SHOWGHOST) ?
+ g->gamemode - GM_SHOWGHOST : g->gamemode | GM_SHOWGHOST;
+ printf("Show ghost (ghostmode) toggled.\n");
+ break; */
+ case 29: g->gamemode = (g->gamemode & GM_ALLOWHIDE) ?
+ g->gamemode - GM_ALLOWHIDE : g->gamemode | GM_ALLOWHIDE;
+ printf("Allow hide (cloak) toggled.\n");
+ break;
+ case 30: g->gamemode = (g->gamemode & GM_ALLOWRADAR) ?
+ g->gamemode - GM_ALLOWRADAR : g->gamemode | GM_ALLOWRADAR;
+ printf("Radar toggled.\n");
+ break;
+/* case 31: g->gamemode = (g->gamemode & GM_DESTRUCTSHOTS) ?
+ g->gamemode - GM_DESTRUCTSHOTS : g->gamemode | GM_DESTRUCTSHOTS;
+ printf("Destruct shots on kill toggled.\n");
+ break; */
+ case 32: g->gamemode = (g->gamemode & GM_DECSCORE) ?
+ g->gamemode - GM_DECSCORE : g->gamemode | GM_DECSCORE;
+ printf("Decrease score of killed player toggled.\n");
+ break;
+/* case 33: g->gamemode = (g->gamemode & GM_RANKSCORE) ?
+ g->gamemode - GM_RANKSCORE : g->gamemode | GM_RANKSCORE;
+ printf("Rankingdepend score-bonus toggled.\n");
+ break; */
+ case 34: g->gamemode = (g->gamemode & GM_TEAMSHOTHURT) ?
+ g->gamemode - GM_TEAMSHOTHURT : g->gamemode | GM_TEAMSHOTHURT;
+ printf("Shots from team members hurt toggled.\n");
+ break;
+/* case 6:
if(a == 1)
{
if(g->gamemode == 0)
@@ -554,6 +680,7 @@
}
}
break;
+*/
case 7:
g->divider++;
if(g->divider == 3)
@@ -579,6 +706,19 @@
}
exit(0);
break;
+ case 96: /* JG HACK */ /* Will refresh the X interface's playerlist */
+ list_connections();
+ break;
+ case 97: /* JG HACK */
+ printf("Sending message: %s\n", (char *)(line+3));
+ for(q=cfirst;q!=NULL;q=q->next,i--)
+ send_message((char *)(line+3), q);
+ break;
+ case 98: g->gamemode = 0;
+ printf("All options off.\n");
+ g->divider = 0;
+ printf("Beat divider reset to 1.\n");
+ break;
case 99:
printf("******** INFO: *********\n\n");
printf("numplayers: %d response: %d playing: %d gameflag: %d mode: %d.\n",g->numplayers,g->response,g->playing,g->gameflag,g->mode);
@@ -596,6 +736,8 @@
break;
default:
printf("Unknown command\n");
+ sprintf(tclcommand, "MESSAGE\nUnknown command\n");
+ sendcommand();
print_menu();
break;
}
@@ -688,8 +830,8 @@
{
struct gqueue *g;
struct pqueue *p;
- unsigned long t;
- static unsigned long lasttick;
+ unsigned int t;
+ static unsigned int lasttick;
int d;
t = timerticks;
@@ -741,6 +883,9 @@
if(p->playing && (p->mode == PLAYERMODE) && !p->connection->response)
{
fprintf(stderr,"Connection of Player %d doesn't response!\n",p->number);
+ sprintf(tclcommand, "MESSAGE\nConnection of player %d\nMESSAGECAT\ndoesn't respond\n",
+ p->number);
+ sendcommand();
}
}
}
@@ -779,7 +924,7 @@
void io_cntl(void)
{
#ifdef HAVE_FDSET
- struct fd_set readmask1;
+ fd_set readmask1;
#else
struct fd_mask readmask1;
#endif
@@ -863,7 +1008,8 @@
if(use_exmenu)
{
if(FD_ISSET(menu_in,&readmask1))
- handle_exinput();
+/* JG HACK handle_exinput(); */
+ handle_input();
}
else /* keyboard (stdin) */
{
@@ -900,6 +1046,9 @@
get_hostname(q,q->hostname);
printf("\n accepted a connection request from [%s].\n",q->hostname);
+ sprintf(tclcommand, "MESSAGE\nNew connection request from\nMESSAGECAT\n%s\n",
+ q->hostname);
+ sendcommand();
FD_SET(q->socket,&readmask);
}
@@ -914,10 +1063,10 @@
char *saddr = (char *) &(((struct sockaddr_in *) &(q->remoteaddr))->sin_addr.s_addr);
hp = gethostbyaddr(saddr,4,AF_INET);
- if(strlen(hp->h_name) > 0)
+ if(hp && hp->h_name && (strlen(hp->h_name) > 0))
strcpy(name,hp->h_name);
else
- sprintf(name,"%d.%d.%d.%d",(int) saddr[0],(int) saddr[1],(int) saddr[2],(int) saddr[3]);
+ sprintf(name,"%ud.%ud.%ud.%ud",(unsigned int) saddr[0],(unsigned int) saddr[1],(unsigned int) saddr[2],(unsigned int) saddr[3]);
return name;
}
@@ -989,7 +1138,7 @@
void work_input(unsigned char *buf,int len,struct cqueue *q)
{
- unsigned long lval;
+ unsigned int lval;
struct pqueue *pl;
int cn;
@@ -1073,10 +1222,10 @@
if(!(q->mode & (SINGLEPLAYER)) )
{
lval = 0;
- lval |= ((unsigned long) buf[1]) << 24;
- lval |= ((unsigned long) buf[2]) << 16;
- lval |= ((unsigned long) buf[3]) << 8;
- lval |= ((unsigned long) buf[4]);
+ lval |= ((unsigned int) buf[1]) << 24;
+ lval |= ((unsigned int) buf[2]) << 16;
+ lval |= ((unsigned int) buf[3]) << 8;
+ lval |= ((unsigned int) buf[4]);
switch(lval)
{
@@ -1124,9 +1273,14 @@
if(strlen((char*)buf+4) > MAXNAME)
buf[4+MAXNAME] = 0;
if(q->mode & SINGLEPLAYER)
+
add_player(q,((int)buf[2]<<8)+buf[3],PLAYERMODE,(char*)buf+4);
else if(q->mode & SINGLECAMERA)
add_player(q,((int)buf[2]<<8)+buf[3],CAMMODE,(char*)buf+4);
+
+/* add_player(q,q->socket,PLAYERMODE,(char*)buf+4);
+ else if(q->mode & SINGLECAMERA)
+ add_player(q,q->socket,CAMMODE,(char*)buf+4); */
break;
case NM_REMOVEPLAYER:
break;
@@ -1142,6 +1296,9 @@
void start_game(struct gqueue *g,int *teams)
{
+ sprintf(tclcommand, "STARTGAME\n");
+ sendcommand();
+
g->playing = 1;
g->numgamers = g->numplayers;
@@ -1188,9 +1345,14 @@
void end_game(struct gqueue *g)
{
+
+
char data[2];
struct pqueue *p;
+ sprintf(tclcommand, "STOPGAME\n");
+ sendcommand();
+
g->playing = 0;
g->gameflag = FALSE;
@@ -1545,13 +1707,18 @@
send_mes("OK, player added with an invalid name.",NULL,MSG_PLAYER,p,NULL);
fprintf(stderr,"Added player %s : %d.\n",p->name,p->cnumber);
+ list_connections();
+ sprintf(tclcommand, "MESSAGECAT\nNew player: %s\n", p->name);
+ sendcommand();
return p;
}
void remove_player(struct pqueue *p,struct cqueue *c)
{
-
+ list_connections();
+ sprintf(tclcommand, "MESSAGE\nLost player: %s\n", p->name);
+ sendcommand();
free(p);
/* if(c != NULL) -> silent on this connection */
@@ -1752,18 +1919,31 @@
void list_connections(void)
{
struct cqueue *q;
+ struct pqueue *p;
+ struct gqueue *g=gfirst;
int i;
- printf("No.: | Player-Name: | connected from:\n");
+ sprintf(tclcommand, "CONNECTIONLIST\n");
+ sendcommand();
+
+ printf("No.: | Player-Name: | hostname\n");
printf("-----+------------------+----------------\n");
- for(q=cfirst,i=0;q!=NULL;q=q->next,i++)
+
+/* for(p=g->first,i=0;p!=NULL;p=p->gnext,i++) */
+ for(q=cfirst,i=0;q!=NULL;q=q->next,i++)
{
- if(q->players->mode == PLAYERMODE)
+ if(q->players->mode == PLAYERMODE) {
printf("%3d | %16s | %s\n",i,q->players->name,q->hostname);
+ sprintf(tclcommand, "PLAYER\n%d\n%s\n%s\n", i,
+ q->players->name, q->hostname);
+ sendcommand();
+ }
else
printf("%3d | %16s | %s\n",i,"A Camera?!?",q->hostname);
}
printf("-----+------------------+----------------\n");
+ sprintf(tclcommand, "ENDCONNECTIONLIST\n");
+ sendcommand();
}
/***************************/
@@ -1776,10 +1956,11 @@
printf("\t-h|-help: this message\n");
printf("\t-exmenu: Control with an external menu\n");
printf("\t-nowait: server shouldn't wait for clients (for very slow lines)\n");
+ printf("\t-tclmenu: Uses tcl menu\n");
exit(0);
}
-void print_timerinfo(unsigned long t)
+void print_timerinfo(unsigned int t)
{
switch(t & 0x3f)
{
@@ -1808,12 +1989,6 @@
printf("\t3 => Stop a running game\n");
printf("\t4 => List connections\n");
printf("\t5 => Shutdown a connection \n");
- if(gfirst->gamemode == 0)
- printf("\t6 => Enable extended gamemode\n");
- else if(!(gfirst->gamemode & GM_FASTWALKING))
- printf("\t6 => Enable extended just-for-fun gamemode\n");
- else
- printf("\t6 => Enable classic gamemode\n");
switch(gfirst->divider)
{
case 0:
@@ -1826,7 +2001,87 @@
printf("\t7 => Change 'beat' divider (current: 4)\n");
break;
}
+ printf("\t21: %s, 22: %s, 23: %s, 24: %s\n",
+ (gfirst->gamemode & GM_REFLECTINGSHOTS) ? "BOUNCE" : "bounce",
+ (gfirst->gamemode & GM_DECAYINGSHOTS) ? "DECAY" : "decay",
+ (gfirst->gamemode & GM_MULTIPLESHOTS) ? "MULTISHOT" : "multishot",
+ (gfirst->gamemode & GM_WEAKINGSHOTS) ? "HURTS2SHOOT" : "hurts2shoot");
+ printf("\t25: %s, 26:%s, 27: %s\n",
+ (gfirst->gamemode & GM_REPOWERONKILL) ? "REPOWERONKILL" : "repoweronkill",
+ (gfirst->gamemode & GM_FASTRECHARGE) ? "FASTHEAL" : "fastheal",
+ (gfirst->gamemode & GM_FASTWALKING) ? "FASTWALK" : "fastwalk");
+/* (gfirst->gamemode & GM_SHOWGHOST) ? "GHOSTMODE" : "ghostmode"); */
+ printf("\t29: %s, 30: %s, 32: %s\n",
+ (gfirst->gamemode & GM_ALLOWHIDE) ? "CLOAK" : "cloak",
+ (gfirst->gamemode & GM_ALLOWRADAR) ? "RADAR" : "radar",
+/* (gfirst->gamemode & GM_DESTRUCTSHOTS) ? "DESTRUCTSHOTS" : "destructshots", */
+ (gfirst->gamemode & GM_DECSCORE) ? "DECSCORE" : "decscore");
+ printf("\t34: %s\n",
+/* (gfirst->gamemode & GM_RANKSCORE) ? "RANKSCORE" : "rankscore"); */
+ (gfirst->gamemode & GM_TEAMSHOTHURT) ? "TEAMSHOTHURT" : "teamshothurt");
+
printf("\t------------------------------------------\n");
printf("\t9 => Quit\n\n");
}
+int reaper() {
+ while(wait3(NULL, WNOHANG, NULL) > 0) {}
+}
+
+void sendcommand(void)
+{
+int len;
+char *pts = tclcommand;
+int status = 0, n, count;
+
+ if (!use_tclmenu) return;
+/* Sends the string in tclcommand to the external menu. */
+
+ count = len = strlen(tclcommand);
+
+
+ if (count < 0) exit(255);
+
+ while (status != count) {
+ n = write(menu_out, pts+status, count-status);
+ if (n < 0) exit(255);
+ status += n;
+ }
+ return;
+}
+
+int read_buffer(int fd, char *buf, int count)
+{
+ char *pts = buf;
+ int status = 0, n;
+
+ if (count < 0) return (-1);
+
+ while (status != count) {
+ n = read(fd, pts+status, count-status);
+ if (n < 0) return n;
+ status += n;
+ }
+ return (status);
+}
+
+
+int read_pipe(int socket, char *buf, int maxlen)
+{
+int status;
+int count = 0;
+
+ while (count <= maxlen) {
+ if ((status = read_buffer(socket, buf+count, 1)) < 1) {
+ printf("Error reading in function read_pipe\n");
+ return 0;
+ }
+ if ((buf[count] == '\n') || buf[count] == '\r') {
+ buf[count] = 0;
+ return count;
+ }
+ count++;
+ }
+ buf[count] = 0;
+ return count;
+}
--- netmaze-0.81+jpg0.82.orig/netserv.h
+++ netmaze-0.81+jpg0.82/netserv.h
@@ -47,7 +47,7 @@
int plnum; /* number of players from this connection */
int mode; /* flags */
int socket;
- unsigned long lasttick;
+ unsigned int lasttick;
struct sockaddr remoteaddr; /* remote socket address */
char hostname[256];
int response;
--- netmaze-0.81+jpg0.82.orig/network.c
+++ netmaze-0.81+jpg0.82/network.c
@@ -29,7 +29,7 @@
extern void move_all(PLAYER*,int*);
extern void run_game(MAZE*,PLAYER*);
-extern void myrandominit(long);
+extern void myrandominit(int);
extern void inactivate_player(int);
extern void activate_player(int);
@@ -60,7 +60,7 @@
static int frag=0,fraglen;
if(frag > 0)
- { /* we allow exact 1 fragmentation (our messages aren't long) */
+ { /* we allow exact 1 fragmentation (our messages aren't int) */
if((count = recv(own_socket,buf+fraglen,frag,0)) != frag)
{
fprintf(stderr,"Major protocoll-error: %d!!\n",buf[0]);
@@ -131,7 +131,7 @@
char data[1];
int (*hfeld)[MAZEDIMENSION],(*vfeld)[MAZEDIMENSION];
int i,j;
- long randbase;
+ int randbase;
switch(*buf)
{
@@ -143,8 +143,8 @@
{
sm->playfeld[i].team = buf[16+i];
}
- randbase = (long) (unsigned char) buf[5];
- randbase += ((long) (unsigned char) buf[4]) << 8;
+ randbase = (int) (unsigned char) buf[5];
+ randbase += ((int) (unsigned char) buf[4]) << 8;
myrandominit(randbase);
sm->gamemode = (unsigned char) buf[7];
sm->gamemode += ((int)(unsigned char)buf[8])<<8;
--- netmaze-0.81+jpg0.82.orig/network.h
+++ netmaze-0.81+jpg0.82/network.h
@@ -15,19 +15,19 @@
#define PLAYERMAGIC 0x77554712L
/*
-void pushlong(char *s,long w)
+void pushint(char *s,int w)
{
- s[0] = ((unsigned long) w)>>24;
- s[1] = ((unsigned long) w)>>16;
- s[2] = ((unsigned long) w)>>8;
- s[3] = ((unsigned long) w);
+ s[0] = ((unsigned int) w)>>24;
+ s[1] = ((unsigned int) w)>>16;
+ s[2] = ((unsigned int) w)>>8;
+ s[3] = ((unsigned int) w);
}
-long poplong(char *s)
+int popint(char *s)
{
- w = ((unsigend long) s[0]<<24) + ((unsigend long) s[1]<<16) +
- ((unsigend long) s[2]<<8) + ((unsigend long) s[3])
- return((long) w);
+ w = ((unsigend int) s[0]<<24) + ((unsigend int) s[1]<<16) +
+ ((unsigend int) s[2]<<8) + ((unsigend int) s[3])
+ return((int) w);
}
*/
--- netmaze-0.81+jpg0.82.orig/nmlogo.gif.uue
+++ netmaze-0.81+jpg0.82/nmlogo.gif.uue
@@ -0,0 +1,111 @@
+begin 664 nmlogo.gif
+M1TE&.#=A+`%D`.<``````+V]_]C8__/S_UD`I&,`FH$`?`<'_XL`W_]+2_T(`NW0`B7X`?_^:FAP<_S)D`9+<`1A86_V=G_YV=_[BX_V8`F'H`
+MA(X`<`("_QT=_S@X_VYN_P$`_HF)_[^__]K:__7U_QX`WSP`P5``K0D)_R0D
+M_S\__UI:_W5U_^'A__S\__\(",@`-1,`Z_``#?H``Q`0_T9&_V%A_Y>7_[*R
+M_^CH_P<`]A<7_TU-_X.#_YZ>_[FY_]34_Y,`:IT`8`,#_QX>_SDY_U14_XJ*
+M_[L`0J6E_\#`_]O;_\4`./;V_\\`+AH`Y/])224E_T!`_UM;_W9V_Y&1_\?'
+M_^+B__W]_Q$1_T='_V)B_YB8_\[._UX`GV@`E9``;?_Z^A@8_VEI_X2$_Y^?
+M_[JZ_]75__#P__0`"?\``/\N+O^XN`0$_Q\?_SHZ_ZT`47!P_XN+_\'!_]S<
+M__?W__\:&@L+_R8F_T%!_UQ<_W=W_ZVM_^/C__[^__]55:$`7/^#@[4`2.<`
+M%A(2_TA(_[2T_^KJ_QD9_Z"@_[N[_];6__'Q_S``S6P`D04%_R`@_SL[_U96
+M_W%Q_Z@`58R,_\+"_]W=__CX___R\@P,_T)"_UU=_ZZN_^3D______\F)B,`
+MVO]A81,3_TE)__^/CW]__YJ:_[6U_^OK_U4`J/_KZZ\`3AH:_S4U_X:&_Z&A
+M_[R\_]?7__+R__][>_^IJ?^(B`8&_R$A_SP\_U=7_W)R_\/#_][>__GY___#
+MPRH`TT@`M0T-_R@H_T-#_UY>_W``C:^O_^7E_]0`*104_V5E_YN;_[:V__\_
+M/P``_QL;_S8V_X>'_P```"P`````+`%D```(_@`!"!Q(L*#!@P@3*ES(L*'#
+MAQ`C2IQ(L:+%BQ@S:MS(L:/'CR!#BAQ)LJ3)DRA3JES)LJ7+ES!CRIQ)LZ;-
+MFSASZMS)TV(2.+S()7A1I0\I4N^2;NC)M&G3?5"C:G1$*QL_$S^##BUZ-.F[
+M#4N=BAT+,ZK9LQ4U!#E#U2I6H$*)&D6J=*0E2PCO+M3+E"_3:(`G7KM63(7`
+M98@MGEV,5N(SM6RK7LT:ERM=DG?Q#M0,P._!S'T][WTI+AJ`:"4$%R.X3#'C
+MUU`CPGJ\MNUD.)HJSSWI5_1>SCQ]YP6^LK1%PH8!M'8-^S7$V0??YMYJ-*)>
+MT*`%\NVM.?-USM\W_@,/WUG[^.UXA6NZ=S\>/OUY\>O$`MFP1*(H9
+M`&:7W`#`#?KP49`S"!YD'$'AA$/0.NL``.%!A2GG47-F:82;;J1`Y!U]\X$8
+MXHCH=8>=B>R%F!V*]&%GT'LIFN@>B>&AA]^+,6JF'W_]^1>@@`4.M,HJ`B4X
+M$#BME&8:`"6D!H"#`&`"8801&E18(R!A"!42&DTGET0VTIBBF&.&:29XW6FW
+MV9@%$0>?BBS"*2>;.::X(W_^`1"@0$$*1&21!B4Y4),#A8.)0!,JI`*666*(
+MQ!L:Z08FBV^^2>:K9=>99VFE[PIXY:JC"B:CB?CP*
+M!*!`!`HYI#,("7K:K`T*)*5"UP"PZ'(?[9K)+AC]^I"SH`[;;+!LKE=LM,?.
+M&Z^-88[8WHO=48NJ*-9>@JT^V@[$+4%(#H1:H5".BU"Y`C6"[H7-/;KN.!A1
+M9QV],+J([,CW93JCBV6FZ2^S:I9')K_S\4NRR\FN^-Y^^XE"\'\P@:X"
+ML###K1#D9+CBWEH0!`19?#%'&0)PEL:[C'/`11X#F^.G]L[['JDR^NNIL)_E
+MNRR<9"=[J7TVXW6GS@4?;*"?JPQ-=$&$$B3Q_M(04'QN8AC'-E!45%OM@D59
+MSQ1M0\21U?*:(($#SE-2$;0EKU4?X`(5%24NT^()W>W$%Z]2U`7]3L4HQDP4N_'0
+M1]\1\@5A;OCRQK@CT?,J_2']]S917]#&KC/OS@01<8_2%=Z#[WY,XA-$/O#9
+MHP^1^B;%P/[[_+L4/T&9H]_Y='"_X:W$'/IK7_\6B)+_$>1ZYIN`#L#P$/R1
+M!('[8Z`&2^+`@4"P?A,LA$,L*!)?8%"!&TQANBJGD/*!$`R%@$5#2`@27Y@P
+M@2K,8>!XQQ`!2A"&_C)D"`T](@<;GE"'2-1(!PN"O0$"\1E"-"!%K."'4L"#
+M`CL(PT+D4,0;LL\4R(A'!2H@AD/,0C:@<"(JQ!$K8(@$5NX0T!K.`)
+M=P!%.B)0@RP,(A7*H$<&>E"&652C&@VQ@18(@1C`U62)!&GB#V/X#'LL9(@(
+M40`,J&A%+(;!$+$0"`?0@(:!<+&+)P2C&,EH1C2J\2#G:(`,%M*!#J1A&]MX
+MR!@0,8UI6$06U,A'&]\8QQ0X@2)TM",>]
+M^_C'0`ZRD--,"#&J>K3L,#0U`#1#!`
+M!H<&@G(G+1.F:4F1Q]YD=GL9!0C-2:BSQI-N'7S88XL:4:.$-"RCF0
+M3<@4G37U)#O=B9">_L$4!0EJ&@O2B:+Z$ZD$4>I2;>E4J#;A((&8*D(5>M6L
+M1L(A\^"J5R%*S(DZP0Z?$,9#V%!696JTF1V%_F89%I('MY)TD:J0Z]-26E>&
+MW#6<>74$0O@*@#CX]9P`2*=@<0H-A7CQL`]90F.-^D]`#,0"%I#L0)OZ5!0T
+M80X%R:QFJ[I0SS8D&:$E@T%**U9AH*,A;&`M1I>Y46=ZE)`*@4)M1PJ`:^;V
+MI#-1J4$F"=S('(2O2C#N06S*SH4\%[$-68)T'7M4ZYX"N]D="%,KZUWP"L0!
+M#L@L03B+535$HA8+005Z%5+,TZ;VO0R);VO/6M_8#E(A`]#O0?X[UP#WMB'@
+MK&1P:7%@F"JD'PE.R'(9\MSH2IC"U3W%A1'"72XZ#D=8;2P4>,
+M")2Q`(A3+(3#W_5$,(*AD/*:N!9@QDA[T7%FA:2Y(;%=B)NA`.<>^WAU$L'K
+MG?E1$$QJ8\]]_F1#FBQHZA*:(8B^,J,7TME'1QHC+C:S1CJZ$%QLNM,HE8F`
+M$2)JVYB`(*9&]8(]Z1!60V30#NENHAM2ZR]K)->4SHA]>_WK'6\S?'-V2(&-
+MG82!#%$;ITZR03JY@X>8<`$9?+:KHVUE+#?$RY"^=IFS?9&T+H02OGZS00CQ
+M7YP,.R%"'O5;!'+N=/-YW5>$R+OC_1!H-T3:5W8(OF]MD4E7NB*P90C`_KM=
+M$(+O]M,\M(B=R8T;7C1\"8)P4B(TE\C-%Y)SC7LVWQ1A+[:!+A&A
+M]Y'H`=?Q0*ZY$Z4K1.%.AWI1&C+U!%==(#0M!=;-`>^:-V3K"NGZO;_.<8>0
+M%H[=\'A%0&%VAQ1=[0"`*R':'FZ)L/SI+S^!<7L!`,!.A.80KOB\+UYOK]L:
+M(@\%JRT2/W:*Y%'H#WE\;0%P6YZX?2&2D8[<^T#W4VO^N.BD".A;_5AZ=UCG
+M"^%Y0W@P6M6S_N<36>8P(")[VUJS)[=?2--;_I[YS<^T(L.7=_%)?WS36WLA
+MH65^0A0?D;-./_9IWV\UF=*8C=P&\U$WR-1__U>+A%_TXX=SI3=XIZ<0Z(4!
+M/*`0[`<19Q41U<=?])=]"Z%[Y)!_^M!WJ=)&]AWH6=SHR>`Y<<0TS""!7@0
+MJ*!BZ:>`*>@09O4$%-&";Q6!$L@03S>#O.<0-@A\F\00I&00_\>#`"+&`#(%1%K%I\G=]"Q%LQU-_'A$4%F@05_A7-*40I`1/!-&%
+M?]>#8/B#8DB""%&$_B:(A@>AA@HQ8Q`14@+AAM:G2`KQ;2SA'"!!A1"1@8!5
+M"L=@$.ZTA5S(@8>%#`@A!``DA>(4XA`:!B.GG4&F8A`O16H\(B0*18V_H
+M7P;A:9>(B1ZAB0_!B7EW#,N54WY8$*`71@6!1JGH:M;E@XDV:XTVAF!WB(D(
+M3`6Q>AY'`P21"(E@$/*UA*\'6VH538=D$+HXB;BE6R>7$A@2C'=X$#=8C,=(
+M6(5%BO7$2JV$$(-6:-(H:UI6C817>`1AALR7>A'%C6-'`X+PD((`C@619C,F
+M?>9X7R"%$"RPB^TH5]RD+@%D$<(($5C(2<;H9^VT$/KX4_QX#PGQCU*&_F$(
+MD7.+!F(B9A!!6)#<4`=U1"QJ)!O1!`_YY`0:1`A@)3DR'@7*5NSI1#L")66Z#]3Z3O6TRY7F1"=>)):
+M]!`ZR))BP!`P&9"*!H36V)8,<89R:1`O]@!V>1")D)?CZ%I\N92RY1"W)9@H
+MYR@<,9(388\3X5/Q`(`-`!'=!1$Y*1$)&4P*86;>B!"AJ9>D.0SI8)HW]A"2
+MEUM)M)S,V9S.^9S0&9W2.9W469W6>9W8F9W:_KF=W-F=WOF=X!F>XCF>Y%F>
+MYGF>Z)F>ZKF>[-F>250$B[`(NM`2G,`)V(`-[ME`,%@\15`$`J$+\]D2]YF?
+M)P%JQ%,`_OF?`/"F#\H%>J`'!%$/]=`"+0`17N`%
+ME5`)!/$%)W(>R.*<_JNS#TS`!`)A!HHJ$#G0J`*1H@*Q!RLJ$,W0HBY*HS+Z
+M`0)AHP(A!3LJ$#W:#@(Q!3\Z$$%*``*A"$8*`!.:I/ZYI``@#[(J$"-@!%$*
+M`"1``@8@$#Y0I0.!I8RPI6W@I0(AIFX@$&9J$&DZ$*X`!$`@$&WJIA!:$'I@
+MIP*!IPVQIUX@$'W:*2C2-H0*@X8Z$(O*J"7ZJ%TP$)(Z$)7JHNRP$#C*HZ(Z
+MJJ4J$$*:JJM*H0@*`/$Y$+-*J[>*JR0P$+U*$%BJI5Q*K``@I@.1K`11GP71
+MK`,1K0+QI@=1K0.!K0RQIP/1K9S",G221(4*@^7JJ`,!J7L@J2L:!>TZ_A`O
+MFA`W*@4$(0*AZJ/U>J]#NJJ*H*^ON@C_*0\(800#2["^"@!7JJ6,``##*A!A
+M2A`..Q`0RZS-NJ9L2@=NB@<&,:=V>J<:JQ"OL*T=ZZQ!".Q`&4+1&FZ7!JK1?
+M"J9CBJQG2A#`P`D1ZPH)8;%92Z<1\;5A^Z=EJRS+>;8\!*(B:J[HFJZ1N@<#
+MP;+N*K>:"@#Q*A!U"ZKU.@76,!!$.A`[BQ!^.Q!/*A"!"P!4.A`(@```<`1)
+MVP9<"J9-2Z9/*Q"/&[D3:[4#0;D`(*<",:<9T9NG!?$*KY"]8,NG8BL0@%HV
+M:A.N!6&HB)JV:GNB!J&RDRH0+_J^F+JI-AJS,CL0-3NO`$"J0DJD>"L0K=J?
+M!2&K33H"!9&K4VJEP3N\Q;NT/_`#"^L&QSH0P##!CVN?&`H`4TNQT8L'<4H0
+MU6JGV)N]VUL0V@JVX/L%@%H?('([&F2@!8&^33&A"0H2#.#`"\3"#.3"`P&B
+MU5G#-URV&_0_4'&H.-##-9R\T>,=0+RA3-S$3OS$4!S%4CS%5%S%5GS%6)S%
+.6KS%7-S%7OS%SQD0`#L`
+`
+end
--- netmaze-0.81+jpg0.82.orig/robot.c
+++ netmaze-0.81+jpg0.82/robot.c
@@ -36,7 +36,7 @@
/* extern: allmove.c */
extern void move_all(PLAYER*,int*);
extern void run_game(MAZE*,PLAYER*);
-extern void myrandominit(long);
+extern void myrandominit(int);
/* extern: user-defined-functions */
extern int own_action(void);
@@ -49,7 +49,7 @@
extern void ident_player(void);
#ifdef HAVE_FDSET
-struct fd_set readmask;
+fd_set readmask;
#else
struct fd_mask readmask;
#endif
@@ -139,7 +139,7 @@
int numfds;
#ifdef HAVE_FDSET
- struct fd_set readmask1;
+ fd_set readmask1;
#else
struct fd_mask readmask1;
#endif
--- netmaze-0.81+jpg0.82.orig/texture.c
+++ netmaze-0.81+jpg0.82/texture.c
@@ -13,19 +13,19 @@
static char *make_jump_tab(int h);
struct texture *load_texture(char *name);
void image_hline(int x1,int y1,int x2,int val);
-void image_circle(long x1,long y1,long h1,long h2,int);
+void image_circle(int x1,int y1,int h1,int h2,int);
-extern unsigned long get_best_color(XColor *col);
+extern unsigned int get_best_color(XColor *col);
extern struct shared_struct *sm;
/*
static unsigned char *sqrttab;
*/
static double *circletab;
-static long *floortab;
-long texturemem;
+static int *floortab;
+int texturemem;
extern struct texture *vtex;
-extern long trigtab[];
+extern int trigtab[];
/*
* Draw a texture-wall.. really not fast
@@ -35,11 +35,11 @@
* type: 0=full, !0=mirrored
*/
-void texture_wall(long x1,long hn1,long x2,long hn2,struct texture *tex,long lclip,long rclip,int size,int clipped,int type)
+void texture_wall(int x1,int hn1,int x2,int hn2,struct texture *tex,int lclip,int rclip,int size,int clipped,int type)
{
int j,xp,hi,k,ln,d,i1,istep;
char *jmpt,*imgbuf,*t1,*t2;
- long h,xn1,yn1;
+ int h,xn1,yn1;
char *ia1,*ia2,pixval1,pixval2;
int shift=size-4,offset=0;
@@ -181,8 +181,8 @@
static char *make_jump_tab(int h)
{
- long d;
- long d1;
+ int d;
+ int d1;
int i,j,h1,shft;
char *t1,*t;
static char *jmptabsave[32] = { NULL, };
@@ -225,7 +225,7 @@
static char *make_div_tab(int h)
{
int i,h1,shft;
- long h2;
+ int h2;
char *t;
static char *divtabsave[32] = { NULL, };
short (*t1)[2];
@@ -255,11 +255,11 @@
h2=WYHALF*h;
for(i=WYHALF;i<4096;i++)
{
- long w;
+ int w;
w = h2 / i;
t1[i][0] = w;
- w = ((long)i<<16) / h;
- w *= (long) t1[i][0];
+ w = ((int)i<<16) / h;
+ w *= (int) t1[i][0];
w += 0x7fff;
t1[i][1] = WYHALF - (w>>16);
}
@@ -270,7 +270,7 @@
void make_tabs(void)
{
int i,j;
- long *fltab;
+ int *fltab;
double m[] = { 0,0,0,0,0,0,0,0,0,0,0, 0.5 , 1.0 , 2.0 , 4.0 , 8.0 };
/*
@@ -290,7 +290,7 @@
circletab[i] = sqrt(1 - ((double) i)*((double) i)/(512*512));
}
- fltab = floortab = (long *) malloc(sizeof(long)*4*(WYSIZE>>1)*128);
+ fltab = floortab = (int *) malloc(sizeof(int)*4*(WYSIZE>>1)*128);
if(floortab == NULL)
{
fprintf(stderr,"No memory for floortab.\n");
@@ -323,10 +323,10 @@
xo = d1cos*(XMIN) - ydrot*dsin;
yo = ydrot*dcos + d1sin*(XMIN);
- *fltab++ = (long) (xo*0x10);
- *fltab++ = (long) (yo*0x10);
- *fltab++ = (long) (d1sin*0x10000*m[sm->outputsize]);
- *fltab++ = (long) (d1cos*0x10000*m[sm->outputsize]);
+ *fltab++ = (int) (xo*0x10);
+ *fltab++ = (int) (yo*0x10);
+ *fltab++ = (int) (d1sin*0x10000*m[sm->outputsize]);
+ *fltab++ = (int) (d1cos*0x10000*m[sm->outputsize]);
}
}
}
@@ -337,7 +337,7 @@
int i,j,k,precalc=0,h,w;
FILE *f;
char *b,*t,*t1;
- long d,d1;
+ int d,d1;
unsigned char buf[32];
int map[256];
char fn[1024];
@@ -394,11 +394,11 @@
{
tex->datatab = malloc( sizeof(char *) * (h+1) );
texturemem += (h>>1)*w*h+((w*h)>>1)+4;
- tex->data = (char *) (((long) malloc((h>>1)*w*h+((w*h)>>1)+4) + 3) & 0xfffffffc);
+ tex->data = (char *) (((int) malloc((h>>1)*w*h+((w*h)>>1)+4) + 3) & 0xfffffffc);
}
else
{
- tex->data = (char *) (((long) malloc(w*h+4) + 3) & 0xfffffffc);
+ tex->data = (char *) (((int) malloc(w*h+4) + 3) & 0xfffffffc);
texturemem += w*h+4;
}
if( (tex->data == NULL) || (precalc && (tex->datatab == NULL)) )
@@ -485,11 +485,11 @@
return tex;
}
-void image_circle(long x1,long y1,long h1,long h2,int col)
+void image_circle(int x1,int y1,int h1,int h2,int col)
{
int i,j,k,xi1,xi2;
- long d;
- long d1=0x7fff;
+ int d;
+ int d1=0x7fff;
int r;
int lclip,rclip,xmid;
@@ -535,9 +535,9 @@
{
char *image = sm->grafix.imagebuf + (IMAGEHEIGHT>>1)*IMAGEWIDTH + ((IMAGEWIDTH-WXSIZE)>>1);
char *t = tx->data;
- long *fltab;
+ int *fltab;
int i,j;
- long mask = 0x00ff0000;
+ int mask = 0x00ff0000;
int step=IMAGEWIDTH-WXSIZE;
switch(angle & 0x80)
@@ -547,7 +547,7 @@
for(j=(WYSIZE>>1);j;j--,image+=step)
{
- long xo,yo,tsin,tcos;
+ int xo,yo,tsin,tcos;
xo = x + *fltab++;
yo = y + *fltab++;
tsin = *fltab++;
@@ -568,7 +568,7 @@
for(j=(WYSIZE>>1);j;j--,image+=step)
{
- long xo,yo,tsin,tcos;
+ int xo,yo,tsin,tcos;
xo = x - *fltab++;
yo = y - *fltab++;
tsin = - *fltab++;
@@ -587,10 +587,10 @@
{
int i,j,k;
- unsigned long *ia1;
- unsigned long val1=c1 +((long) c1<<8) +((long) c1<<16) +((long) c1<<24);
+ unsigned int *ia1;
+ unsigned int val1=c1 +((int) c1<<8) +((int) c1<<16) +((int) c1<<24);
- ia1 = (unsigned long *) (sm->grafix.imagebuf +
+ ia1 = (unsigned int *) (sm->grafix.imagebuf +
((IMAGEWIDTH-WXSIZE)>>1) + (IMAGEHEIGHT>>1)*IMAGEWIDTH);
k = WXSIZE>>2;
@@ -606,11 +606,11 @@
{
int i,j,k;
- unsigned long *ia1,*ia2;
- unsigned long val1=c1 +((long) c1<<8) +((long) c1<<16) +((long) c1<<24);
- unsigned long val2=c2 +((long) c2<<8) +((long) c2<<16) +((long) c2<<24);
+ unsigned int *ia1,*ia2;
+ unsigned int val1=c1 +((int) c1<<8) +((int) c1<<16) +((int) c1<<24);
+ unsigned int val2=c2 +((int) c2<<8) +((int) c2<<16) +((int) c2<<24);
- ia1 = ia2 = (unsigned long *) (sm->grafix.imagebuf +
+ ia1 = ia2 = (unsigned int *) (sm->grafix.imagebuf +
((IMAGEWIDTH-WXSIZE)>>1) + (IMAGEHEIGHT>>1)*IMAGEWIDTH);
k = WXSIZE>>2;
@@ -630,7 +630,7 @@
{
char *img = sm->grafix.imagebuf + y1*IMAGEWIDTH + x1;
int d1,d2,d3;
- unsigned long val1;
+ unsigned int val1;
if(x2 < x1)
{
@@ -646,7 +646,7 @@
}
else
{
- val1=val +((long) val<<8) +((long) val<<16) +((long) val<<24);
+ val1=val +((int) val<<8) +((int) val<<16) +((int) val<<24);
d1=4-(x1 & 0x3);
d2=x2 & 0x3;
d3=(x2-d2-x1-d1)>>2;
@@ -659,8 +659,8 @@
*img++ = val;
for(;d3;d3--)
{
- /* *(((unsigned long*)img)++) = val1; */
- *(((unsigned long*)img)) = val1;
+ /* *(((unsigned int*)img)++) = val1; */
+ *(((unsigned int*)img)) = val1;
img+=4;
}
for(;d2;d2--)
@@ -668,7 +668,7 @@
}
}
-void image_sym_vline(long x1,long h1,int col,int size)
+void image_sym_vline(int x1,int h1,int col,int size)
{
char *ia1,*ia2;
--- netmaze-0.81+jpg0.82.orig/trigtab.h
+++ netmaze-0.81+jpg0.82/trigtab.h
@@ -2,7 +2,7 @@
* sin/cos tab (DON'T CHANGE!!)
*/
-long trigtab[] = {
+int trigtab[] = {
0x00000000,0x00064855,0x000c8fb2,0x0012d520,
0x001917a6,0x001f564e,0x00259020,0x002bc428,
0x0031f170,0x00381704,0x003e33f2,0x00444749,
--- netmaze-0.81+jpg0.82.orig/x11gfx.c
+++ netmaze-0.81+jpg0.82/x11gfx.c
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include
#include
#include
@@ -46,7 +47,7 @@
static GC mkunilogo(void);
static GC mkcolormap(char *name,XColor*);
static GC mkdithermap(char *bitmap,char *fg,char *bg);
-unsigned long get_best_color(XColor *col);
+unsigned int get_best_color(XColor *col);
static int calc_pos(int num,int len);
static int calc_fitlen(int fit,int height);
/*
@@ -58,19 +59,19 @@
/* extern: texture.c */
extern void image_bg(int ctop,int cbottom);
-extern void image_circle(long x1,long y1,long h1,long h2,int col);
-extern void image_sym_vline(long x1,long h1,int col,int);
+extern void image_circle(int x1,int y1,int h1,int h2,int col);
+extern void image_sym_vline(int x1,int h1,int col,int);
extern void image_hline(int x1,int y1,int x2,int val);
-extern void image_face(long x,long r,int win,int col);
+extern void image_face(int x,int r,int win,int col);
extern void image_floor(int x,int y,int angle,struct texture *tx);
extern void image_top(int ctop);
extern struct texture *load_texture(char *);
extern void make_tabs(void);
-extern void texture_wall(long x1,long h1,long x2,long h2,struct texture *tex,long,long,int,int,int);
+extern void texture_wall(int x1,int h1,int x2,int h2,struct texture *tex,int,int,int,int,int);
static struct texture *textures[16];
-extern long texturemem;
+extern int texturemem;
static int XErrorNewHandler(Display*,XErrorEvent*);
static int XErrorFlag=0;
@@ -581,7 +582,7 @@
int mx,my;
int tx,ty;
int dx,dy;
- static long count=0;
+ static int count=0;
int angle, diff;
if (me && them)
@@ -630,9 +631,9 @@
int id,i,r,r2,s;
unsigned int width,height,x1;
int x,y;
- unsigned long pixel;
+ unsigned int pixel;
#ifdef PERFORMANCE_TEST
- long a;
+ int a;
#endif
/*
@@ -868,7 +869,7 @@
static int calc_fitlen(int fit,int height)
{
int i;
- i = (int) (( (long) fit * (long) height) / 2000) ;
+ i = (int) (( (int) fit * (int) height) / 2000) ;
return (i<0)?0:i;
}
@@ -882,7 +883,10 @@
if(sm->killchg)
{
+ /* JG Hack.... 10/24/96... Was:
XFillRectangle(sm->grafix.display,sm->grafix.killfg,blackgc,0,0,200,80);
+ */
+ XFillRectangle(sm->grafix.display,sm->grafix.killfg,blackgc,0,0,200,800);
for(i=0;igrafix.display,sm->grafix.killfg,
@@ -1146,17 +1150,17 @@
* find a good color: slow and ugly but works ...
*/
-unsigned long get_best_color(XColor *col)
+unsigned int get_best_color(XColor *col)
{
#define MAX_COLORS 1024
#define SHFT 12
static unsigned char cfield[MAX_COLORS][4];
- static unsigned long pfield[MAX_COLORS];
+ static unsigned int pfield[MAX_COLORS];
static int outofcol=0;
static int num=0;
int i,best=0;
unsigned char r,g,b;
- long d,diff=0x7fffffff;
+ int d,diff=0x7fffffff;
r=(col->red>>SHFT)&0xff; g=(col->green>>SHFT)&0xff; b=(col->blue>>SHFT)&0xff;
--- netmaze-0.81+jpg0.82.orig/x11smiley.c
+++ netmaze-0.81+jpg0.82/x11smiley.c
@@ -140,7 +140,7 @@
}
-void image_face(long x,long r,int win,int col)
+void image_face(int x,int r,int win,int col)
{
int j,k,k1,y;
double scale,scale1,jmp=0.5;
--- netmaze-0.81+jpg0.82.orig/xnetserv
+++ netmaze-0.81+jpg0.82/xnetserv
@@ -0,0 +1,19 @@
+#!/bin/sh
+
+cd /usr/lib/games/netmaze
+
+if test -f nmlogo.gif
+ then \
+ echo "----------------------------------------------------------------"
+ echo "It may take a few seconds for the X interface to come up; please"
+ echo "be patient. If you don't want to watch what is going on in the"
+ echo "text interface, you may minimize your xterm/rxvt."
+ echo "----------------------------------------------------------------"
+ /usr/lib/games/netmaze/netserv -nowait -tclmenu -suppressXnag -exmenu /usr/lib/games/netmaze/xnetserv.tcl $*
+ echo "If netserv died before xnetserv did (eg, because it could not"
+ echo "bind), you may need to make sure xnetserv.tcl died."
+else \
+ echo "You must start xnetserv from the Netmaze directory."
+ echo "use the CD command to change to that directory before starting"
+ echo "xnetserv."
+fi
--- netmaze-0.81+jpg0.82.orig/xnetserv-notix.tcl
+++ netmaze-0.81+jpg0.82/xnetserv-notix.tcl
@@ -0,0 +1,513 @@
+#!/usr/bin/wish8.5 -f
+
+
+##### SET UP PROCEDURES
+
+proc unimplemented {} {
+ toplevel .u
+ label .u.msg -text "This function is not yet implemented."
+ pack .u.msg
+ button .u.b -text "OK" -command {
+ destroy .u
+ return 0
+ }
+ pack .u.b
+ wm title .u "xnetserv: unimplemented function"
+}
+
+proc setcolor {id value} {
+ global teams isdlgbox
+
+ # set teams($id) $value
+
+ switch $teams($id) {
+ 0 {set color Yellow}
+ 1 {set color Red}
+ 2 {set color Green}
+ 3 {set color Blue}
+ 4 {set color SandyBrown}
+ 5 {set color DarkOliveGreen}
+ 6 {set color Orange}
+ 7 {set color DarkOrchid}
+ 8 {set color Pink}
+ 9 {set color VioletRed}
+ 10 {set color LightBlue}
+ 11 {set color LightCyan}
+ 12 {set color RosyBrown}
+ 13 {set color IndianRed}
+ 14 {set color DeepPink}
+ 15 {set color LightPink}
+ 16 {set color yellowGreen}
+ 17 {set color orchid}
+ 18 {set color lavender}
+ 19 {set color lemonchiffon}
+ 20 {set color YellowGreen}
+ 21 {set color khaki}
+ 22 {set color DarkKhaki}
+ 23 {set color violet}
+ 24 {set color plum}
+ 25 {set color DarkOrchid}
+ 26 {set color DarkViolet}
+ 27 {set color PaleTurquoise}
+ 28 {set color Turquoise}
+ 29 {set color darkturquoise}
+ 30 {set color coral}
+ 31 {set color Black}
+ }
+
+ if {$isdlgbox($id)==1} {
+ .players.${id}.dlgbox.sample config -bg $color
+ }
+}
+
+proc playerbox {id} {
+ global ids teams names allplayers isdlgbox
+ toplevel .players.${id}.dlgbox
+ set isdlgbox($id) 1
+ label .players.${id}.dlgbox.l -text "Player $names($id), id $id.\n\
+ Select Dismiss below to close this box.\n\
+ Select Terminate to kick this player out\n\
+ of the game. You can select the player's\n\
+ team below. A sample of the color of that\n\
+ player will be displayed."
+ scale .players.${id}.dlgbox.team -label "Team number" -from 0 -to 31 \
+ -orient horizontal -digits 0 -command "setcolor $id" -variable teams($id)
+ label .players.${id}.dlgbox.sample -text "Player color" -fg black
+ setcolor $id 0
+ button .players.${id}.dlgbox.b1 -text "Dismiss" -command "\
+ destroy .players.$id.dlgbox;\
+ set isdlgbox($id) 0"
+ button .players.${id}.dlgbox.b2 -text "Terminate" -command "\
+ destroy .players.$id.dlgbox;\
+ puts \"5 $id\";\
+ set isdlgbox($id) 0"
+ pack .players.${id}.dlgbox.l
+ pack .players.${id}.dlgbox.team .players.${id}.dlgbox.sample -fill x
+ pack .players.${id}.dlgbox.b1 .players.${id}.dlgbox.b2
+ wm title .players.${id}.dlgbox "xnetserv: info on $names($id) ($id)"
+}
+
+proc destroymainmenu {} {
+ destroy .option1 .option2 .players .misc .options .msg .inmsg
+}
+
+proc sethelp {message} {
+ global helpmsg helpon
+ # Sets help message, if possible....
+ if {$helpon} {
+ if {$helpmsg!=$message} {
+ set helpmsg $message
+ }
+ }
+}
+
+proc addplayerfunc {name id addvars} {
+ # allplayers is a list containing all unique IDs.
+ # a unique ID is $id_$name
+ global allplayers teams names ids \
+ isgip numplayers isdlgbox
+ if {$addvars} {
+ # ONLY add to the vars if this is a NEW creation
+ lappend allplayers ${id}
+ set names(${id}) $name
+ set ids(${id}) $id
+ incr numplayers
+ set teams(${id}) $id
+ set isdlgbox($id) 0
+ }
+ if {!$isgip} {
+ # Only draw stuff if game is not in progress
+ frame .players.${id}
+
+
+ button .players.${id}.name -text $name -command "playerbox $id"
+ bind .players.${id}.name {
+ sethelp "These buttons let you view info on the player\nor\
+ terminate the player's connection to the game."
+ }
+
+ entry .players.${id}.team -width 5 -relief sunken -textvariable \
+ teams(${id})
+ bind .players.${id}.team {
+ sethelp "This lets you set the team a given player is on.\nAll\
+ players with the same team number will be on the same team."
+ }
+
+ bind .players.${id}.team "setcolor $id 0"
+
+ pack .players.${id} -in .players -fill x
+ pack .players.${id}.name -side left -in .players.${id}
+ pack .players.${id}.team -in .players.${id} -side right -padx 1m
+ }
+}
+
+proc drawplayer {name id} {addplayerfunc $name $id 0}
+
+proc addplayer {name id} {
+ addplayerfunc $name $id 1
+}
+
+proc rmplayer {name id} {
+ global allplayers names ids teams numplayers isgip
+ incr numplayers -1
+ unset names(${id})
+ unset ids(${id})
+ unset teams(${id})
+ unset isdlgbox($id)
+ set listindex [lsearch -exact $allplayers ${id}]
+ set allplayers [lreplace $allplayers $listindex $listindex]
+ unset listindex
+ if {!$isgip} {
+ destroy .players.${id}
+ }
+}
+
+proc resetplayers {} {
+ global allplayers names ids teams numplayers isgip isdlgbox
+ if {$numplayers} {
+ unset allplayers
+ unset names
+ unset ids
+ unset teams
+ unset isdlgbox
+ }
+ set numplayers 0
+ if {!$isgip} {
+ destroymainmenu
+ mainmenu
+ }
+}
+
+proc startgame {} {
+ global isgip
+ destroymainmenu
+ frame .gip
+ label .gip.l -text "Netmaze game is in progress!\nOptions are disabled while\
+ game is running.\nThis is Netmaze net protocol version 0.81" -fg white \
+ -bg black
+ label .gip.lp -image NMLogo -bg black -highlightthickness 0
+ button .gip.b -text "Abort game" -fg white -bg black \
+ -highlightthickness 0 -command {
+ puts "3"
+ }
+ label .gip.msgs -textvariable dispmsg -fg green -bg black
+ pack .gip -fill both
+ pack .gip.l .gip.lp .gip.b .gip.msgs -in .gip -fill both
+ set isgip 1
+ update idletasks
+}
+
+proc stopgame {} {
+ global isgip
+ if {$isgip} {
+ destroy .gip
+ }
+ set isgip 0
+ mainmenu
+ update idletasks
+}
+
+proc resetteams {} {
+ # resets all teams to their defaults, that is, their ids
+ global teams ids allplayers numplayers
+ if {$numplayers} {
+ foreach thisplayer $allplayers {
+ set teams($thisplayer) $ids($thisplayer)
+ }
+ }
+}
+
+proc mainmenu {} {
+ global newmaze allplayers names ids numplayers teams BEATDIV dispmsg
+ wm title . "xnetserv 0.82"
+
+ frame .option1
+
+ # netserv option 1
+
+ button .option1.b -text "Load/Reinit maze:" -command {
+ puts "1 $newmaze" }
+ bind .option1.b {
+ sethelp "This will load a new maze (if the\nentry\
+ box has a filename in it) or reinitialize\nthe\
+ current maze."
+ }
+
+
+ entry .option1.e -width 20 -textvariable newmaze
+ bind .option1.e {
+ sethelp "Type the name of a maze to load here,\n\
+ or leave blank to use the default maze."
+ }
+
+ bind .option1.e {
+ puts "1 $newmaze" }
+
+ pack .option1 -side top -padx 1m -pady 1m
+ pack .option1.b .option1.e -in .option1 -side left
+
+ # netserv option 2
+
+ frame .option2
+
+ button .option2.b -text "Start game" -command {
+ if {$numplayers} {
+ # First....do the options.
+ # clear all options
+ puts "98"
+
+ if {$BOUNCE} {puts "21"}
+ if {$DECAY} {puts "22"}
+ if {$MULTISHOT} {puts "23"}
+ if {$HURTS2SHOOT} {puts "24"}
+ if {$REPOWERONKILL} {puts "25"}
+ if {$FASTHEAL} {puts "26"}
+ if {$FASTWALK} {puts "27"}
+ if {$CLOAK} {puts "29"}
+ if {$DECSCORE} {puts "32"}
+ if {$TEAMSHOTHURT} {puts "34"}
+
+ if {$BEATDIV>=2} {puts "7"}
+ if {$BEATDIV==4} {puts "7"}
+
+ set startcmd "2"
+ # Cycle through teams....
+ foreach thisplayer $allplayers {
+ lappend cmdlist $teams($thisplayer)
+ }
+ set i [expr [llength $cmdlist] -1]
+ while {$i >= 0} {
+ append startcmd " "
+ append startcmd [lindex $cmdlist $i]
+ incr i -1
+ }
+ puts $startcmd
+ unset startcmd thisplayer cmdlist i
+ }
+ }
+ bind .option2.b {
+ sethelp "Start a game with the current settings."
+ }
+
+ button .option2.reset -text "Reset teams" -command resetteams
+ bind .option2.reset {
+ sethelp "Reset teams so that everyone is\nplaying\
+ individually. (back to how they were set\nprior\
+ to any modification)"
+ }
+
+ button .option2.refresh -text "Refresh" -command {
+ puts "96"
+ }
+ bind .option2.refresh {
+ sethelp "Will refresh xnetserv's team listing in case it somehow got\
+ corrupted."
+ }
+
+ pack .option2 -side top -padx 1m -pady 1m -side top
+ pack .option2.b .option2.reset .option2.refresh -side left -in .option2 -padx 1m
+
+ frame .players -relief ridge -borderwidth 4
+ frame .players.labels
+ label .players.labels.name -text "Players:"
+ label .players.labels.team -text "Team:"
+ pack .players -side top
+ pack .players.labels -side top -in .players -fill x
+ pack .players.labels.name -side left -in .players.labels
+ pack .players.labels.team -side right -in .players.labels
+
+ if {$numplayers} {
+ foreach thisplayer $allplayers {
+ drawplayer $names($thisplayer) $ids($thisplayer)
+ }
+ }
+
+ ############ THE OPTIONS!
+
+ frame .options -relief ridge -borderwidth 4
+ frame .options.m
+ frame .options.a
+ pack .options -side top -fill x
+ pack .options.m .options.a -fill x -in .options
+ frame .options.m.f1
+ frame .options.m.f2
+ frame .options.a.f3
+
+ checkbutton .options.m.f1.bounce -text Bounce -variable BOUNCE
+ checkbutton .options.m.f1.decay -text Decay -variable DECAY
+ checkbutton .options.m.f1.multishot -text "Multi-shot" -variable MULTISHOT
+ checkbutton .options.m.f1.hurts2shoot -text "Hurts to shoot" -variable HURTS2SHOOT
+ checkbutton .options.m.f1.repoweronkill -text "Repower on kill" -variable REPOWERONKILL
+ checkbutton .options.m.f2.fastheal -text "Fast heal" -variable FASTHEAL
+ checkbutton .options.m.f2.fastwalk -text "Fast walk" -variable FASTWALK
+ checkbutton .options.m.f2.cloak -text "Cloaking" -variable CLOAK
+ checkbutton .options.m.f2.decscore -text "Decrease score" -variable DECSCORE
+ checkbutton .options.m.f2.teamshothurt -text "Team shots hurt" -variable TEAMSHOTHURT
+
+ button .options.a.f3.beatbutton -text "Beat divider" -command {
+ if {1==$BEATDIV} {
+ set BEATDIV 2
+ } elseif {$BEATDIV==2} {
+ set BEATDIV 4
+ } elseif {$BEATDIV==4} {
+ set BEATDIV 1
+ }
+ }
+ label .options.a.f3.beatlabel -textvariable BEATDIV
+
+ pack .options.m.f1 .options.m.f2 -side left -fill x
+ pack .options.a.f3 -fill x
+ pack .options.m.f1.bounce .options.m.f1.decay -in .options.m.f1 -anchor w
+ pack .options.m.f1.multishot .options.m.f1.hurts2shoot -in .options.m.f1 -anchor w
+ pack .options.m.f1.repoweronkill -in .options.m.f1 -anchor w
+ pack .options.m.f2.fastheal -in .options.m.f2 -anchor w
+ pack .options.m.f2.fastwalk .options.m.f2.cloak -in .options.m.f2 -anchor w
+ pack .options.m.f2.decscore .options.m.f2.teamshothurt -in .options.m.f2 -anchor w
+ pack .options.a.f3.beatbutton .options.a.f3.beatlabel -in .options.a.f3 -anchor w -side left
+
+ # messages
+
+ frame .msg
+ pack .msg -side top -fill x
+ entry .msg.entry -textvariable MSGSEND
+ pack .msg.entry -fill x -in .msg
+ bind .msg.entry {
+ set transcmd "97 "
+ append transcmd $MSGSEND
+ puts $transcmd
+ unset transcmd
+ }
+ bind .msg.entry {
+ sethelp "Type a message here and press enter to send\nit\
+ to the xterms of all players."
+ }
+
+ # quit
+
+ frame .misc
+
+ button .misc.b -text "Quit xnetserv" -command {
+ puts "9"
+ exit
+ }
+ button .misc.help -text "Online help" -command {
+ if {!$helpon} {
+ toplevel .help
+ label .help.intro -text "xnetserv by John Goerzen\nOnline help\nMove\
+ the mouse over any item\nand help will appear here."
+ frame .help.m
+ label .help.m.l -textvariable helpmsg -relief sunken -borderwidth 4
+ button .help.button -text "Dismiss" -command {
+ destroy .help
+ set helpon 0
+ }
+ label .help.author -text "E-mail: "
+ wm title .help "xnetserv help"
+ set helpon 1
+ pack .help.intro
+ pack .help.m -fill x
+ pack .help.button .help.author
+ pack .help.m.l -in .help.m -side left
+ }
+ }
+
+
+ pack .misc -side top -padx 1m -pady 1m -side top
+ pack .misc.b .misc.help -side left -in .misc
+
+ # Messages from netserv
+
+ frame .inmsg
+ label .inmsg.l -textvariable dispmsg -fg blue
+
+ pack .inmsg -side top -padx 1m -pady 1m -fill x
+ pack .inmsg.l -side left -in .inmsg -fill x
+
+}
+
+proc intro {} {
+
+ wm title . "Welcome to Netmaze!"
+ label .li -text "Welcome to Netmaze! Click below to begin" -bg midnightblue \
+ -fg white
+ pack .li
+ label .l -text "Version 0.82 (0.81 compat)" -bg black -fg red
+ . config -bg black
+ image create photo NMLogo -file nmlogo.gif
+ button .b -image NMLogo -highlightthickness 0 -fg black -bg black -highlightbackground black -command {
+ destroy .b .li
+ destroy .l
+ set isgip 0
+ . config -bg #d9d9d9
+ mainmenu
+ return 0
+ }
+ pack .b .l
+}
+
+proc inevhandler {} {
+ global dispmsg
+
+ gets stdin line
+ switch $line {
+ MESSAGE {
+ gets stdin inline
+ set dispmsg "$inline"
+ }
+ MESSAGECAT {
+ gets stdin inline
+ append dispmsg "\n$inline"
+ }
+ CONNECTIONLIST {
+ resetplayers
+ gets stdin inline
+ while {$inline!="ENDCONNECTIONLIST"} {
+ gets stdin playernum
+ gets stdin playername
+ gets stdin playerhost
+ addplayer $playername $playernum
+ gets stdin inline
+ }
+ update idletasks
+ }
+ STARTGAME {
+ startgame
+ }
+ STOPGAME {
+ stopgame
+ }
+ }
+}
+
+
+
+
+# This is it, folks: everything starts here.
+
+set numplayers 0
+set isgip 1
+set helpon 0
+set helpmsg "This is xnetserv by John Goerzen."
+# isgip is set to true so that messages don't try to draw on the box.
+# When the main box appears, isgip is set to 0.
+
+# default options
+
+set BOUNCE 0
+set DECAY 0
+set HURTS2SHOOT 0
+set MULTISHOT 1
+set REPOWERONKILL 0
+set FASTHEAL 1
+set FASTWALK 1
+set CLOAK 0
+set DECSCORE 0
+set TEAMSHOTHURT 0
+
+set BEATDIV 1
+
+set dispmsg "Welcome to xnetserv!"
+
+intro
+
+fileevent stdin readable {inevhandler}
--- netmaze-0.81+jpg0.82.orig/xnetserv-old.tcl
+++ netmaze-0.81+jpg0.82/xnetserv-old.tcl
@@ -0,0 +1,426 @@
+#!/usr/bin/wish8.5 -f
+
+# NOTE: Tcl/Tk or C on some Sun machines seems to be broken in that it
+# requres flush calls after every puts when the output is being piped to
+# another program (as it is here). That is why there are flush calls all
+# over in this program.
+
+##### SET UP PROCEDURES
+
+proc unimplemented {} {
+ toplevel .u
+ label .u.msg -text "This function is not yet implemented."
+ pack .u.msg
+ button .u.b -text "OK" -command {
+ destroy .u
+ return 0
+ }
+ pack .u.b
+ wm title .u "xnetserv: unimplemented function"
+}
+
+proc playerbox {id} {
+ global ids teams names allplayers
+ toplevel .players.${id}.dlgbox
+ label .players.${id}.dlgbox.l -text "Player $names($id), id $id.\n\
+ Select Dismiss below to close this box.\n\
+ Select Terminate to kick this player out\n\
+ of the game."
+ button .players.${id}.dlgbox.b1 -text "Dismiss" -command "\
+ destroy .players.$id.dlgbox"
+ button .players.${id}.dlgbox.b2 -text "Terminate" -command "\
+ destroy .players.$id.dlgbox;\
+ puts \"5 $id\";\
+ flush stdout"
+ pack .players.${id}.dlgbox.l .players.${id}.dlgbox.b1 \
+ .players.${id}.dlgbox.b2
+ wm title .players.${id}.dlgbox "xnetserv: info on $names($id) ($id)"
+}
+
+proc destroymainmenu {} {
+ destroy .option1 .option2 .players .misc .options .msg
+}
+
+proc sethelp {message} {
+ global helpmsg helpon
+ # Sets help message, if possible....
+ if {$helpon} {
+ if {$helpmsg!=$message} {
+ set helpmsg $message
+ }
+ }
+}
+
+proc addplayerfunc {name id addvars} {
+ # allplayers is a list containing all unique IDs.
+ # a unique ID is $id_$name
+ global allplayers teams names ids \
+ isgip numplayers
+ if {$addvars} {
+ # ONLY add to the vars if this is a NEW creation
+ lappend allplayers ${id}
+ set names(${id}) $name
+ set ids(${id}) $id
+ incr numplayers
+ set teams(${id}) $id
+ }
+ if {!$isgip} {
+ # Only draw stuff if game is not in progress
+ frame .players.${id}
+
+
+ button .players.${id}.name -text $name -command "playerbox $id"
+ bind .players.${id}.name {
+ sethelp "These buttons let you view info on the player\nor\
+ terminate the player's connection to the game."
+ }
+
+ entry .players.${id}.team -width 5 -relief sunken -textvariable \
+ teams(${id})
+ bind .players.${id}.team {
+ sethelp "This lets you set the team a given player is on.\nAll\
+ players with the same team number will be on the same team."
+ }
+
+
+ pack .players.${id} -in .players -fill x
+ pack .players.${id}.name -side left -in .players.${id}
+ pack .players.${id}.team -in .players.${id} -side right -padx 1m
+ }
+}
+
+proc drawplayer {name id} {addplayerfunc $name $id 0}
+
+proc addplayer {name id} {
+ addplayerfunc $name $id 1
+}
+
+proc rmplayer {name id} {
+ global allplayers names ids teams numplayers isgip
+ incr numplayers -1
+ unset names(${id})
+ unset ids(${id})
+ unset teams(${id})
+ set listindex [lsearch -exact $allplayers ${id}]
+ set allplayers [lreplace $allplayers $listindex $listindex]
+ unset listindex
+ if {!$isgip} {
+ destroy .players.${id}
+ }
+}
+
+proc resetplayers {} {
+ global allplayers names ids teams numplayers isgip
+ if {$numplayers} {
+ unset allplayers
+ unset names
+ unset ids
+ unset teams
+ }
+ set numplayers 0
+ if {!$isgip} {
+ destroymainmenu
+ mainmenu
+ puts "4"
+ flush stdout
+ }
+}
+
+proc startgame {} {
+ global isgip
+ destroymainmenu
+ frame .gip
+ label .gip.l -text "Netmaze game is in progress!\nOptions are disabled while\
+ game is running.\nThis is Netmaze net protocol version 0.81" -fg white \
+ -bg black
+ label .gip.lp -image NMLogo
+ button .gip.b -text "Abort game" -fg white -bg black -command {
+ puts "3"
+ flush stdout
+ }
+ pack .gip -fill both
+ pack .gip.l .gip.lp .gip.b -in .gip -fill both
+ set isgip 1
+}
+
+proc stopgame {} {
+ global isgip
+ if {$isgip} {
+ destroy .gip
+ }
+ set isgip 0
+ mainmenu
+}
+
+proc resetteams {} {
+ # resets all teams to their defaults, that is, their ids
+ global teams ids allplayers numplayers
+ if {$numplayers} {
+ foreach thisplayer $allplayers {
+ set teams($thisplayer) $ids($thisplayer)
+ }
+ }
+}
+
+proc mainmenu {} {
+ global newmaze allplayers names ids numplayers teams BEATDIV
+ wm title . "xnetserv 0.82"
+
+ frame .option1
+
+ # netserv option 1
+
+ button .option1.b -text "Load/Reinit maze:" -command {
+ puts "1 $newmaze"
+ flush stdout
+ }
+ bind .option1.b {
+ sethelp "This will load a new maze (if the\nentry\
+ box has a filename in it) or reinitialize\nthe\
+ current maze."
+ }
+
+
+ entry .option1.e -width 20 -textvariable newmaze
+ bind .option1.e {
+ sethelp "Type the name of a maze to load here,\n\
+ or leave blank to use the default maze."
+ }
+
+
+ pack .option1 -side top -padx 1m -pady 1m
+ pack .option1.b .option1.e -in .option1 -side left
+
+ # netserv option 2
+
+ frame .option2
+
+ button .option2.b -text "Start game" -command {
+ if {$numplayers} {
+ # First....do the options.
+ # clear all options
+ puts "98"
+ flush stdout
+
+ if {$BOUNCE} {puts "21"
+ flush stdout }
+ if {$DECAY} {puts "22"
+ flush stdout }
+ if {$MULTISHOT} {puts "23"
+ flush stdout }
+ if {$HURTS2SHOOT} {puts "24"
+ flush stdout }
+ if {$REPOWERONKILL} {puts "25"
+ flush stdout }
+ if {$FASTHEAL} {puts "26"
+ flush stdout }
+ if {$FASTWALK} {puts "27"
+ flush stdout }
+ if {$CLOAK} {puts "29"
+ flush stdout }
+ if {$DECSCORE} {puts "32"
+ flush stdout }
+ if {$TEAMSHOTHURT} {puts "34"
+ flush stdout }
+
+ if {$BEATDIV>=2} {puts "7"
+ flush stdout }
+ if {$BEATDIV==4} {puts "7"
+ flush stdout }
+
+ set startcmd "2"
+ # Cycle through teams....
+ foreach thisplayer $allplayers {
+ lappend cmdlist $teams($thisplayer)
+ }
+ set i [expr [llength $cmdlist] -1]
+ while {$i >= 0} {
+ append startcmd " "
+ append startcmd [lindex $cmdlist $i]
+ incr i -1
+ }
+ puts $startcmd
+ flush stdout
+ unset startcmd thisplayer cmdlist i
+ }
+ }
+ bind .option2.b {
+ sethelp "Start a game with the current settings."
+ }
+
+ button .option2.reset -text "Reset teams" -command resetteams
+ bind .option2.reset {
+ sethelp "Reset teams so that everyone is\nplaying\
+ individually. (back to how they were set\nprior\
+ to any modification)"
+ }
+
+ button .option2.refresh -text "Refresh" -command {
+ puts "96"
+ flush stdout
+ }
+ bind .option2.refresh {
+ sethelp "Will refresh xnetserv's team listing in case it somehow got\
+ corrupted."
+ }
+
+ pack .option2 -side top -padx 1m -pady 1m -side top
+ pack .option2.b .option2.reset .option2.refresh -side left -in .option2 -padx 1m
+
+ frame .players -relief ridge -borderwidth 4
+ frame .players.labels
+ label .players.labels.name -text "Players:"
+ label .players.labels.team -text "Team:"
+ pack .players -side top
+ pack .players.labels -side top -in .players -fill x
+ pack .players.labels.name -side left -in .players.labels
+ pack .players.labels.team -side right -in .players.labels
+
+ if {$numplayers} {
+ foreach thisplayer $allplayers {
+ drawplayer $names($thisplayer) $ids($thisplayer)
+ }
+ }
+
+ ############ THE OPTIONS!
+
+ frame .options -relief ridge -borderwidth 4
+ frame .options.m
+ frame .options.a
+ pack .options -side top -fill x
+ pack .options.m .options.a -fill x -in .options
+ frame .options.m.f1
+ frame .options.m.f2
+ frame .options.a.f3
+
+ checkbutton .options.m.f1.bounce -text Bounce -variable BOUNCE
+ checkbutton .options.m.f1.decay -text Decay -variable DECAY
+ checkbutton .options.m.f1.multishot -text "Multi-shot" -variable MULTISHOT
+ checkbutton .options.m.f1.hurts2shoot -text "Hurts to shoot" -variable HURTS2SHOOT
+ checkbutton .options.m.f1.repoweronkill -text "Repower on kill" -variable REPOWERONKILL
+ checkbutton .options.m.f2.fastheal -text "Fast heal" -variable FASTHEAL
+ checkbutton .options.m.f2.fastwalk -text "Fast walk" -variable FASTWALK
+ checkbutton .options.m.f2.cloak -text "Cloaking" -variable CLOAK
+ checkbutton .options.m.f2.decscore -text "Decrease score" -variable DECSCORE
+ checkbutton .options.m.f2.teamshothurt -text "Team shots hurt" -variable TEAMSHOTHURT
+
+ button .options.a.f3.beatbutton -text "Beat divider" -command {
+ if {1==$BEATDIV} {
+ set BEATDIV 2
+ } elseif {$BEATDIV==2} {
+ set BEATDIV 4
+ } elseif {$BEATDIV==4} {
+ set BEATDIV 1
+ }
+ }
+ label .options.a.f3.beatlabel -textvariable BEATDIV
+
+ pack .options.m.f1 .options.m.f2 -side left -fill x
+ pack .options.a.f3 -fill x
+ pack .options.m.f1.bounce .options.m.f1.decay -in .options.m.f1 -anchor w
+ pack .options.m.f1.multishot .options.m.f1.hurts2shoot -in .options.m.f1 -anchor w
+ pack .options.m.f1.repoweronkill -in .options.m.f1 -anchor w
+ pack .options.m.f2.fastheal -in .options.m.f2 -anchor w
+ pack .options.m.f2.fastwalk .options.m.f2.cloak -in .options.m.f2 -anchor w
+ pack .options.m.f2.decscore .options.m.f2.teamshothurt -in .options.m.f2 -anchor w
+ pack .options.a.f3.beatbutton .options.a.f3.beatlabel -in .options.a.f3 -anchor w -side left
+
+ # messages
+
+ frame .msg
+ pack .msg -side top -fill x
+ entry .msg.entry -textvariable MSGSEND
+ pack .msg.entry -fill x -in .msg
+ bind .msg.entry {
+ set transcmd "97 "
+ append transcmd $MSGSEND
+ puts $transcmd
+ flush stdout
+ unset transcmd
+ }
+ bind .msg.entry {
+ sethelp "Type a message here and press enter to send\nit\
+ to the xterms of all players."
+ }
+
+ # quit
+
+ frame .misc
+
+ button .misc.b -text "Quit xnetserv" -command {
+ puts "9"
+ flush stdout
+ exit
+ }
+ button .misc.help -text "Online help" -command {
+ if {!$helpon} {
+ toplevel .help
+ label .help.intro -text "xnetserv by John Goerzen\nOnline help\nMove\
+ the mouse over any item\nand help will appear here."
+ frame .help.m
+ label .help.m.l -textvariable helpmsg -relief sunken -borderwidth 4
+ button .help.button -text "Dismiss" -command {
+ destroy .help
+ set helpon 0
+ }
+ label .help.author -text "E-mail: "
+ wm title .help "xnetserv help"
+ set helpon 1
+ pack .help.intro
+ pack .help.m -fill x
+ pack .help.button .help.author
+ pack .help.m.l -in .help.m -side left
+ }
+ }
+
+
+ pack .misc -side top -padx 1m -pady 1m -side top
+ pack .misc.b .misc.help -side left -in .misc
+
+}
+
+proc intro {} {
+
+ wm title . "Welcome to Netmaze!"
+ label .li -text "Welcome to Netmaze! Click below to begin" -bg midnightblue \
+ -fg white
+ pack .li
+ label .l -text "Version 0.82 (0.81 compat)" -bg black -fg red
+ . config -bg black
+ image create photo NMLogo -file nmlogo.gif
+ button .b -image NMLogo -command {
+ destroy .b .li
+ destroy .l
+ set isgip 0
+ . config -bg #d9d9d9
+ mainmenu
+ return 0
+ }
+ pack .b .l
+}
+
+# This is it, folks: everything starts here.
+
+set numplayers 0
+set isgip 1
+set helpon 0
+set helpmsg "This is xnetserv by John Goerzen."
+# isgip is set to true so that messages don't try to draw on the box.
+# When the main box appears, isgip is set to 0.
+
+# default options
+
+set BOUNCE 0
+set DECAY 0
+set HURTS2SHOOT 0
+set MULTISHOT 1
+set REPOWERONKILL 0
+set FASTHEAL 1
+set FASTWALK 1
+set CLOAK 0
+set DECSCORE 0
+set TEAMSHOTHURT 0
+
+set BEATDIV 1
+
+intro
--- netmaze-0.81+jpg0.82.orig/xnetserv-send.tcl
+++ netmaze-0.81+jpg0.82/xnetserv-send.tcl
@@ -0,0 +1,19 @@
+#!/usr/bin/wish8.5 -f
+
+puts $argv
+
+set cmdlist [split "$argv" "!"]
+
+set i [expr [llength $cmdlist] -1]
+set x 0
+
+while {$x<=$i} {
+ set sendcommand "[lindex $cmdlist $x]"
+ eval send xnetserv.tcl {$sendcommand}
+ incr x
+}
+
+# set sendcommand "$argv"
+# eval send xnetserv.tcl {$sendcommand}
+
+exit
--- netmaze-0.81+jpg0.82.orig/xnetserv-setup.tcl
+++ netmaze-0.81+jpg0.82/xnetserv-setup.tcl
@@ -0,0 +1,6 @@
+# Put the directory to your Tix shared library here.
+# Here are some examples:
+# set tixfile /home/mydir/lib/libtix.so
+set tixfile [lindex [glob /usr/lib/libTix*.so*] 0]
+# set tixfile /usr/users/User10/jgoerzen/public/bin/lib/libtix.so
+
--- netmaze-0.81+jpg0.82.orig/xnetserv.tcl
+++ netmaze-0.81+jpg0.82/xnetserv.tcl
@@ -0,0 +1,556 @@
+#!/usr/bin/wish8.5 -f
+
+frame .init
+pack .init
+label .init.l1 -text "Initializing xnetserv, just a sec..."
+pack .init.l1
+set Initmessage "Loading defaults..."
+label .init.message -textvariable Initmessage
+pack .init.message -in .init
+update idletasks
+wm title . "xnetserv: initializing"
+update idletasks
+source xnetserv-setup.tcl
+set Initmessage "Initializing Tix..."
+update idletasks
+load $tixfile
+set Initmessage "Initializing xnetserv main program..."
+update idletasks
+
+##### SET UP PROCEDURES
+
+proc unimplemented {} {
+ toplevel .u
+ label .u.msg -text "This function is not yet implemented."
+ pack .u.msg
+ button .u.b -text "OK" -command {
+ destroy .u
+ return 0
+ }
+ pack .u.b
+ wm title .u "xnetserv: unimplemented function"
+}
+
+proc setcolor {id value} {
+ global teams isdlgbox cframe pframe oframe
+
+ # set teams($id) $value
+
+ switch $teams($id) {
+ 0 {set color Yellow}
+ 1 {set color Red}
+ 2 {set color Green}
+ 3 {set color Blue}
+ 4 {set color SandyBrown}
+ 5 {set color DarkOliveGreen}
+ 6 {set color Orange}
+ 7 {set color DarkOrchid}
+ 8 {set color Pink}
+ 9 {set color VioletRed}
+ 10 {set color LightBlue}
+ 11 {set color LightCyan}
+ 12 {set color RosyBrown}
+ 13 {set color IndianRed}
+ 14 {set color DeepPink}
+ 15 {set color LightPink}
+ 16 {set color yellowGreen}
+ 17 {set color orchid}
+ 18 {set color lavender}
+ 19 {set color lemonchiffon}
+ 20 {set color YellowGreen}
+ 21 {set color khaki}
+ 22 {set color DarkKhaki}
+ 23 {set color violet}
+ 24 {set color plum}
+ 25 {set color DarkOrchid}
+ 26 {set color DarkViolet}
+ 27 {set color PaleTurquoise}
+ 28 {set color Turquoise}
+ 29 {set color darkturquoise}
+ 30 {set color coral}
+ 31 {set color Black}
+ }
+
+ if {$isdlgbox($id)==1} {
+ $pframe.${id}.dlgbox.sample config -bg $color
+ }
+}
+
+proc playerbox {id} {
+ global ids teams names allplayers isdlgbox cframe pframe oframe
+ toplevel $pframe.${id}.dlgbox
+ set isdlgbox($id) 1
+ label $pframe.${id}.dlgbox.l -text "Player $names($id), id $id.\n\
+ Select Dismiss below to close this box.\n\
+ Select Terminate to kick this player out\n\
+ of the game. You can select the player's\n\
+ team below. A sample of the color of that\n\
+ player will be displayed."
+ scale $pframe.${id}.dlgbox.team -label "Team number" -from 0 -to 31 \
+ -orient horizontal -digits 0 -command "setcolor $id" -variable teams($id)
+ label $pframe.${id}.dlgbox.sample -text "Player color" -fg black
+ setcolor $id 0
+ button $pframe.${id}.dlgbox.b1 -text "Dismiss" -command "\
+ destroy $pframe.$id.dlgbox;\
+ set isdlgbox($id) 0"
+ button $pframe.${id}.dlgbox.b2 -text "Terminate" -command "\
+ destroy $pframe.$id.dlgbox;\
+ puts \"5 $id\";\
+ set isdlgbox($id) 0"
+ pack $pframe.${id}.dlgbox.l
+ pack $pframe.${id}.dlgbox.team $pframe.${id}.dlgbox.sample -fill x
+ pack $pframe.${id}.dlgbox.b1 $pframe.${id}.dlgbox.b2
+ wm title $pframe.${id}.dlgbox "xnetserv: info on $names($id) ($id)"
+}
+
+proc destroymainmenu {} {
+# destroy .option1 .option2 .players .misc .options .msg .inmsg .sideleft\
+# .sideright
+ destroy .mm .inmsg
+}
+
+proc sethelp {message} {
+ global helpmsg helpon
+ # Sets help message, if possible....
+ if {$helpon} {
+ if {$helpmsg!=$message} {
+ set helpmsg $message
+ }
+ }
+}
+
+proc addplayerfunc {name id addvars} {
+ # allplayers is a list containing all unique IDs.
+ # a unique ID is $id_$name
+ global allplayers teams names ids \
+ isgip numplayers isdlgbox cframe pframe oframe
+ if {$addvars} {
+ # ONLY add to the vars if this is a NEW creation
+ lappend allplayers ${id}
+ set names(${id}) $name
+ set ids(${id}) $id
+ incr numplayers
+ set teams(${id}) $id
+ set isdlgbox($id) 0
+ }
+ if {!$isgip} {
+ # Only draw stuff if game is not in progress
+ frame $pframe.${id}
+
+
+ button $pframe.${id}.name -text $name -command "playerbox $id"
+ bind $pframe.${id}.name {
+ sethelp "These buttons let you view info on the player or\
+ terminate the player's connection to the game."
+ }
+
+ entry $pframe.${id}.team -width 5 -relief sunken -textvariable \
+ teams(${id})
+ bind $pframe.${id}.team {
+ sethelp "This lets you set the team a given player is on. All\
+ players with the same team number will be on the same team."
+ }
+
+ bind $pframe.${id}.team "setcolor $id 0"
+
+ pack $pframe.${id} -in $pframe -fill x
+ pack $pframe.${id}.name -side left -in $pframe.${id}
+ pack $pframe.${id}.team -in $pframe.${id} -side right -padx 1m
+ }
+}
+
+proc drawplayer {name id} {addplayerfunc $name $id 0}
+
+proc addplayer {name id} {
+ addplayerfunc $name $id 1
+}
+
+proc rmplayer {name id} {
+ global allplayers names ids teams numplayers isgip cframe pframe oframe
+ incr numplayers -1
+ unset names(${id})
+ unset ids(${id})
+ unset teams(${id})
+ unset isdlgbox($id)
+ set listindex [lsearch -exact $allplayers ${id}]
+ set allplayers [lreplace $allplayers $listindex $listindex]
+ unset listindex
+ if {!$isgip} {
+ destroy $pframe.${id}
+ }
+}
+
+proc resetplayers {} {
+ global allplayers names ids teams numplayers isgip isdlgbox\
+ pframe oframe cframe
+
+ if {$numplayers} {
+ foreach thisplayer $allplayers {
+ if {!$isgip} {destroy $pframe.$ids($thisplayer)}
+ }
+ unset allplayers
+ unset names
+ unset ids
+ unset teams
+ unset isdlgbox
+ }
+ set numplayers 0
+}
+
+proc startgame {} {
+ global isgip
+ destroymainmenu
+ frame .gip
+ label .gip.l -text "Netmaze game is in progress!\nOptions are disabled while\
+ game is running.\nThis is Netmaze net protocol version 0.81" -fg white \
+ -bg black
+ label .gip.lp -image NMLogo -bg black -highlightthickness 0
+ button .gip.b -text "Abort game" -fg white -bg black \
+ -highlightthickness 0 -command {
+ puts "3"
+ }
+ label .gip.msgs -textvariable dispmsg -fg green -bg black
+ pack .gip -fill both
+ pack .gip.l .gip.lp .gip.b .gip.msgs -in .gip -fill both
+ set isgip 1
+ update idletasks
+}
+
+proc stopgame {} {
+ global isgip
+ if {$isgip} {
+ destroy .gip
+ }
+ set isgip 0
+ mainmenu
+ update idletasks
+}
+
+proc resetteams {} {
+ # resets all teams to their defaults, that is, their ids
+ global teams ids allplayers numplayers
+ if {$numplayers} {
+ foreach thisplayer $allplayers {
+ set teams($thisplayer) $ids($thisplayer)
+ }
+ }
+}
+
+proc pickmazecmd {filename} {
+ puts "1 $filename"
+}
+
+proc pickmaze {} {
+ global cframe pframe oframe
+ # Procedure to let user pick a new maze.
+ tixExFileSelectDialog $cframe.nmaze -title "Select new maze" \
+ -command pickmazecmd
+ $cframe.nmaze subwidget fsbox config -pattern {*.maz}
+ $cframe.nmaze subwidget fsbox config -dir {/usr/lib/games/netmaze/mazes}
+ $cframe.nmaze subwidget fsbox config -filetypes {
+ {{*.maz} {Maze files}}
+ {{*.txt} {Text files}}
+ {{*} {All files}}
+ }
+ $cframe.nmaze popup
+}
+
+proc mainmenu {} {
+ global newmaze allplayers names ids numplayers teams BEATDIV dispmsg \
+ cframe pframe oframe
+ wm title . "xnetserv 0.82"
+
+ tixNoteBook .mm
+ pack .mm
+ .mm add cp -label "Control Panel" -underline 0
+ .mm add players -label "Players" -underline 0
+ .mm add options -label "Options" -underline 0
+
+ set cframe [.mm subwidget cp]
+ set pframe [.mm subwidget players]
+ set oframe [.mm subwidget options]
+
+
+ frame $cframe.o1
+
+ # netserv option 1
+
+ button $cframe.o1.b -text "Load new maze" -command {
+ pickmaze }
+ bind $cframe.o1.b {
+ sethelp "This will load a new maze."
+ }
+
+ button $cframe.o1.b2 -text "Load default maze" -command {
+ puts "1" }
+ bind $cframe.o1.b2 {
+ sethelp "This will load the default maze."
+ }
+
+ pack $cframe.o1 -side top -padx 1m -pady 1m
+ pack $cframe.o1.b $cframe.o1.b2 -in $cframe.o1 -side left
+
+ # netserv option 2
+
+ frame $cframe.o2
+
+ button $cframe.o2.b -text "Start game" -command {
+ if {$numplayers} {
+ # First....do the options.
+ # clear all options
+ puts "98"
+
+ if {$BOUNCE} {puts "21"}
+ if {$DECAY} {puts "22"}
+ if {$MULTISHOT} {puts "23"}
+ if {$HURTS2SHOOT} {puts "24"}
+ if {$REPOWERONKILL} {puts "25"}
+ if {$FASTHEAL} {puts "26"}
+ if {$FASTWALK} {puts "27"}
+ if {$CLOAK} {puts "29"}
+ if {$DECSCORE} {puts "32"}
+ if {$TEAMSHOTHURT} {puts "34"}
+
+ if {$BEATDIV>=2} {puts "7"}
+ if {$BEATDIV==4} {puts "7"}
+
+ set startcmd "2"
+ # Cycle through teams....
+ foreach thisplayer $allplayers {
+ lappend cmdlist $teams($thisplayer)
+ }
+ set i [expr [llength $cmdlist] -1]
+ while {$i >= 0} {
+ append startcmd " "
+ append startcmd [lindex $cmdlist $i]
+ incr i -1
+ }
+ puts $startcmd
+ unset startcmd thisplayer cmdlist i
+ }
+ }
+ bind $cframe.o2.b {
+ sethelp "Start a game with the current settings."
+ }
+
+ button $cframe.o2.reset -text "Reset teams" -command resetteams
+ bind $cframe.o2.reset {
+ sethelp "Reset teams so that everyone is playing\
+ individually. (back to how they were set prior\
+ to any modification)"
+ }
+
+ button $cframe.o2.refresh -text "Refresh" -command {
+ puts "96"
+ }
+ bind $cframe.o2.refresh {
+ sethelp "Will refresh xnetserv's team listing in case it somehow got\
+ corrupted."
+ }
+
+ pack $cframe.o2 -side top -padx 1m -pady 1m -side top
+ pack $cframe.o2.b $cframe.o2.reset $cframe.o2.refresh \
+ -side left -in $cframe.o2 -padx 1m
+
+ frame $pframe.labels
+ label $pframe.labels.name -text "Players:"
+ label $pframe.labels.team -text "Team:"
+ pack $pframe.labels -side top -in $pframe -fill x
+ pack $pframe.labels.name -side left -in $pframe.labels
+ pack $pframe.labels.team -side right -in $pframe.labels
+
+ if {$numplayers} {
+ foreach thisplayer $allplayers {
+ drawplayer $names($thisplayer) $ids($thisplayer)
+ }
+ }
+
+ ############ THE OPTIONS!
+
+ frame $oframe.m
+ frame $oframe.a
+ pack $oframe.m $oframe.a -fill x -in $oframe
+ frame $oframe.m.f1
+ frame $oframe.m.f2
+ frame $oframe.a.f3
+
+ checkbutton $oframe.m.f1.bounce -text Bounce -variable BOUNCE
+ checkbutton $oframe.m.f1.decay -text Decay -variable DECAY
+ checkbutton $oframe.m.f1.multishot -text "Multi-shot" -variable MULTISHOT
+ checkbutton $oframe.m.f1.hurts2shoot -text "Hurts to shoot" -variable HURTS2SHOOT
+ checkbutton $oframe.m.f1.repoweronkill -text "Repower on kill" -variable REPOWERONKILL
+ checkbutton $oframe.m.f2.fastheal -text "Fast heal" -variable FASTHEAL
+ checkbutton $oframe.m.f2.fastwalk -text "Fast walk" -variable FASTWALK
+ checkbutton $oframe.m.f2.cloak -text "Cloaking" -variable CLOAK
+ checkbutton $oframe.m.f2.decscore -text "Decrease score" -variable DECSCORE
+ checkbutton $oframe.m.f2.teamshothurt -text "Team shots hurt" -variable TEAMSHOTHURT
+
+ tixComboBox $oframe.a.f3.beatbox -label "Beat divider: " -editable false \
+ -dropdown true -variable BEATDIV
+ $oframe.a.f3.beatbox insert end 1
+ $oframe.a.f3.beatbox insert end 2
+ $oframe.a.f3.beatbox insert end 4
+
+ pack $oframe.m.f1 $oframe.m.f2 -side left -fill x
+ pack $oframe.a.f3 -fill x
+ pack $oframe.m.f1.bounce $oframe.m.f1.decay -in $oframe.m.f1 -anchor w
+ pack $oframe.m.f1.multishot $oframe.m.f1.hurts2shoot -in $oframe.m.f1 -anchor w
+ pack $oframe.m.f1.repoweronkill -in $oframe.m.f1 -anchor w
+ pack $oframe.m.f2.fastheal -in $oframe.m.f2 -anchor w
+ pack $oframe.m.f2.fastwalk $oframe.m.f2.cloak -in $oframe.m.f2 -anchor w
+ pack $oframe.m.f2.decscore $oframe.m.f2.teamshothurt -in $oframe.m.f2 -anchor w
+ pack $oframe.a.f3.beatbox -in $oframe.a.f3 -anchor w -side left
+
+ # messages
+
+ frame $cframe.msg
+ pack $cframe.msg -fill x
+ label $cframe.msg.label -text "Send message:"
+ pack $cframe.msg.label -side left -padx 1m
+ entry $cframe.msg.entry -textvariable MSGSEND
+ pack $cframe.msg.entry -fill x -in $cframe.msg -side left -fill x
+ bind $cframe.msg.entry {
+ set transcmd "97 "
+ append transcmd $MSGSEND
+ puts $transcmd
+ unset transcmd
+ }
+ bind $cframe.msg.entry {
+ sethelp "Type a message here and press enter to send it\
+ to the xterms of all players."
+ }
+
+ # quit
+
+ frame $cframe.misc
+
+ button $cframe.misc.b -text "Quit" -command {
+ puts "9"
+ exit
+ }
+ button $cframe.misc.help -text "Help" -command {
+ if {!$helpon} {
+ toplevel .help
+ label .help.intro -text "xnetserv by John Goerzen\nOnline help\nMove\
+ the mouse over any item\nand help will appear here."
+ frame .help.m
+ message .help.m.l -textvariable helpmsg -relief sunken -borderwidth 4
+ button .help.button -text "Dismiss" -command {
+ destroy .help
+ set helpon 0
+ }
+ label .help.author -text "E-mail: "
+ wm title .help "xnetserv help"
+ set helpon 1
+ pack .help.intro
+ pack .help.m -fill x
+ pack .help.button .help.author
+ pack .help.m.l -in .help.m -fill x
+ }
+ }
+
+
+# HP 2
+ pack $cframe.misc -padx 1m -pady 1m
+ pack $cframe.misc.b $cframe.misc.help -side left -in $cframe.misc
+
+ # Messages from netserv
+
+ frame .inmsg
+ label .inmsg.l -textvariable dispmsg -fg blue
+
+ pack .inmsg -padx 1m -pady 1m -fill x
+ pack .inmsg.l -side left -in .inmsg -fill x
+
+}
+
+proc intro {} {
+
+ wm title . "Welcome to Netmaze!"
+ label .li -text "Welcome to Netmaze! Click below to begin" -bg midnightblue \
+ -fg white
+ pack .li
+ label .l -text "Version 0.82 (0.81 compat)" -bg black -fg red
+ . config -bg black
+ image create photo NMLogo -file nmlogo.gif
+ button .b -image NMLogo -highlightthickness 0 -fg black -bg black -highlightbackground black -command {
+ destroy .b .li
+ destroy .l
+ set isgip 0
+ . config -bg #d9d9d9
+ mainmenu
+ return 0
+ }
+ pack .b .l
+}
+
+proc inevhandler {} {
+ global dispmsg
+
+ gets stdin line
+ switch $line {
+ MESSAGE {
+ gets stdin inline
+ set dispmsg "$inline"
+ }
+ MESSAGECAT {
+ gets stdin inline
+ append dispmsg "\n$inline"
+ }
+ CONNECTIONLIST {
+ resetplayers
+ gets stdin inline
+ while {$inline!="ENDCONNECTIONLIST"} {
+ gets stdin playernum
+ gets stdin playername
+ gets stdin playerhost
+ addplayer $playername $playernum
+ gets stdin inline
+ }
+ update idletasks
+ }
+ STARTGAME {
+ startgame
+ }
+ STOPGAME {
+ stopgame
+ }
+ }
+}
+
+
+
+
+# This is it, folks: everything starts here.
+
+
+set numplayers 0
+set isgip 1
+set helpon 0
+set helpmsg "This is xnetserv by John Goerzen."
+# isgip is set to true so that messages don't try to draw on the box.
+# When the main box appears, isgip is set to 0.
+
+# default options
+
+set BOUNCE 0
+set DECAY 0
+set HURTS2SHOOT 0
+set MULTISHOT 1
+set REPOWERONKILL 0
+set FASTHEAL 1
+set FASTWALK 1
+set CLOAK 0
+set DECSCORE 0
+set TEAMSHOTHURT 0
+
+set BEATDIV 1
+
+set dispmsg "Welcome to xnetserv!"
+
+destroy .init
+unset Initmessage
+
+intro
+
+fileevent stdin readable {inevhandler}