Github messages for voidlinux
 help / color / mirror / Atom feed
From: Vaelatern <Vaelatern@users.noreply.github.com>
To: ml@inbox.vuxu.org
Subject: Re: [PR PATCH] [Updated] New package: netrek-client-cow-3.3.1
Date: Tue, 12 May 2020 01:32:23 +0200	[thread overview]
Message-ID: <20200511233223.t1gNEGh8PVgUKJNkzjy2mYQIRc9ROK_Lg05s6FlV4qk@z> (raw)
In-Reply-To: <gh-mailinglist-notifications-41a7ca26-5023-4802-975b-f1789d68868e-void-packages-21853@inbox.vuxu.org>

[-- Attachment #1: Type: text/plain, Size: 659 bytes --]

There is an updated pull request by Vaelatern against master on the void-packages repository

https://github.com/Vaelatern/void-packages netrek
https://github.com/void-linux/void-packages/pull/21853

New package: netrek-client-cow-3.3.1
With some people being very bored, they might like having this packaged.

It doesn't build. Upstream is active.

The patch is changes between the packaged release and now, I filed a bug with upstream (but since it fails to build from source, that might have been premature). https://github.com/quozl/netrek-client-cow/issues/2

A patch file from https://github.com/void-linux/void-packages/pull/21853.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-netrek-21853.patch --]
[-- Type: text/x-diff, Size: 89161 bytes --]

From 0dfc47352c70983dfedb6def317e7aabd8ed02c1 Mon Sep 17 00:00:00 2001
From: Toyam Cox <Vaelatern@voidlinux.org>
Date: Mon, 11 May 2020 19:18:26 -0400
Subject: [PATCH] New package: netrek-client-cow-3.3.1

---
 .../patches/to-latest-2020-05-10.patch        | 2562 +++++++++++++++++
 srcpkgs/netrek-client-cow/template            |   24 +
 2 files changed, 2586 insertions(+)
 create mode 100644 srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch
 create mode 100644 srcpkgs/netrek-client-cow/template

diff --git a/srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch b/srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch
new file mode 100644
index 00000000000..f457fda7077
--- /dev/null
+++ b/srcpkgs/netrek-client-cow/patches/to-latest-2020-05-10.patch
@@ -0,0 +1,2562 @@
+diff --git a/COW.DOC b/COW.DOC
+index ca5c8d9..85c5107 100644
+--- a/COW.DOC
++++ b/COW.DOC
+@@ -123,9 +123,7 @@ have unique defaults files.
+ 
+    3.1.4  VERIFICATION OPTIONS
+ 
+-     The "-o" option instructs the client to use the old reserved.c verification
+-to identify itself to the server.  Upgraded RSA servers will require that the
+-client use RSA verification.  This is selected using the "-R" option.
++     [deleted]
+    
+    3.1.5  RECORD GAME OPTION
+ 
+@@ -204,10 +202,6 @@ software.
+ 	periods.  You must reconnect before this timeout expires or
+ 	your slot will be given to someone else, you won't be able
+ 	to reconnect.  On most servers it is around 6 minutes long.
+-	
+-	Note to experts:  The server will reverify clients using whatever
+-	available means it has, including RSA or reserved.c when a ghostbust
+-	occurs and therefore whenever this feature is used.
+ 
+    3.1.11 ESOTERIC OPTIONS
+ 
+@@ -410,12 +404,12 @@ you cannot change the colors.
+ If you have any comments, mail them to kantner@hot.caltech.edu
+ 
+ *** Shell escape tool
+-You may execute any Unix shell comand within the client. Read your mail 
+-now within the client. To do so, just send a message to the destination 
+-"!" and you get a shell prompt. Enter the comand and its output will 
++You may execute any Unix shell command within the client. Read your mail
++now within the client. To do so, just send a message to the destination
++"!" and you get a shell prompt. Enter the command and its output will
+ be displayed in the tools window. Works also with macros to "!".
+ You may disable it in the .xtrekrc for security reasons with shellTools: off
+-CAUTION: The client will be blocked for the time the comand is executed.
++CAUTION: The client will be blocked for the time the command is executed.
+ Also some programs suspend the client if it is started in the background.
+ 
+ *** Fast quit
+@@ -462,7 +456,6 @@ borg, AFAIK.)  For instance:
+ 	COW 3.00pl0, linux, 03/03/98, RMCSE365AmTsr
+ The letters in the fourth field indicate which #ifdefs were specified
+ at compile time.  Possibilities are:
+-R: RSA supported
+ M: Macros
+ D: Debugging information
+ C: Corrupted packet handling
+@@ -615,9 +608,6 @@ port.rio:	4566
+ 
+ showmotd:	(on/off) display motd if in wait queue
+ 
+-useRSA:		(on/off) default setting for whether the client should use RSA
+-		verification.
+-
+ autoquit:	(integer) length of time to wait on team selection screen
+ 		before Auto-quit exits for you.
+ 
+@@ -1700,37 +1690,13 @@ responds.  The default for this option is:
+ COW has the best and easiest to use installation procedure a client
+ ever had.
+ 
+-1 *** If you are compiling COW and do not intend to release the client
+-  *** for public distribution with an RSA blessing, simply type:
+-
+ make
+ 
+ In case you will need some additional flags for your compiler or linker,
+ edit the "sample_key.def" file and change the corresponding parameters
+ at the bottom.
+ 
+-2 *** If you are compiling COW with the intention of releasing a client
+-  *** for public distribution with an RSA blessing, read below.
+-
+-First, please contact cow@netrek.org so we know about
+-the existance of the client and where other people might obtain it.
+-
+-Make sure that you have MP or GMP available on your system.
+-If you do not have the GMP installation, you need to obtain it.
+-It should be available from gatekeeper.dec.com.
+-
+-To install it do the following:
+-
+-1) Take the sample_key.def file as a basis to generate an own RSA key
+-   definition file.
+-2) Edit the Makefile and set KEYDEF to the name of the new generated file.
+-3) make
+-	If you don't have already a key a new key will be generated.
+-4) make distkey
+-	Sends a mail to the RSA key keeper to get your key installed 
+-	at the servers.
+-5) you are done!  watch that GPA hit the floor!!
+-
++You are done!  watch that GPA hit the floor!!
+ 
+ cow@netrek.org always likes to receive bug reports for
+ the client and if you have any suggestion for how to improve the
+diff --git a/Makefile b/Makefile
+index efb02ba..be412fd 100644
+--- a/Makefile
++++ b/Makefile
+@@ -2,13 +2,6 @@
+ #  No editables below this point.                                      #
+ ########################################################################
+ 
+--include key.mk
+-
+-KEYGOD = clientkeys@clientkeys.netrek.org
+-MAIL   = mail
+-
+-include $(KEYDEF)
+-
+ PACKAGE=netrek-client-cow
+ VERSION=$(shell ./name)
+ DVERSION=$(shell head -1 debian/changelog|cut -f2 -d\(|cut -f1 -d\))
+@@ -18,37 +11,27 @@ all: netrek-client-cow
+ netrek-client-cow: system.mk netrekI
+ 
+ netrekI::
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) netrek-client-cow
++	$(MAKE) -f system.mk netrek-client-cow
+ 
+ netrek.shared: name system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) S=SHARED netrek.shared
++	$(MAKE) -f system.mk S=SHARED netrek.shared
+ 
+ profile:
+-	$(MAKE) -f system.mk OPT="-ggdb3 -pg -a" EXTRALINKFLAGS="-ggdb3 -pg -a" KEYDEF=$(KEYDEF) netrek-client-cow
+-
+-convert: mkkey $(KEYFILE) $(KEYSH)
+-	./mkkey -h $(KEYSH) $(KEYFILE) "Client Of Win" \
+-	$(DESC) $(MAKER) $(COMMENT)
+-
+-newkey: mkkey
+-	until ./mkkey $(KEYFILE) "Client Of Win" $(DESC) $(MAKER) $(COMMENT) "inl,standard2"; do sleep 1; done
+-
+-mkkey: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) mkkey
++	$(MAKE) -f system.mk OPT="-ggdb3 -pg -a" EXTRALINKFLAGS="-ggdb3 -pg -a" netrek-client-cow
+ 
+ clean:
+ 	rm -f *.o $(OBJ) $(SHAREDTARGET)
+ 
+ reallyclean: clean
+-	rm -f netrek-client-cow randomize mkkey rsa_box*.c name mkcflags \
+-	config.h system.mk config.status config.log config.cache key.mail \
+-	null netrek.shared lib* cflags.c key.cow.linux* key.mk \
++	rm -f netrek-client-cow name mkcflags \
++	config.h system.mk config.status config.log config.cache \
++	null netrek.shared lib* cflags.c \
+ 	po/Makefile po/Makefile.in
+ 
+ distclean: clean reallyclean
+ 
+ tags: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) tags
++	$(MAKE) -f system.mk tags
+ 
+ names: name
+ 	@echo "PACKAGE=$(PACKAGE)"
+@@ -76,54 +59,43 @@ distbin: name netrek-client-cow
+ 	-rm -f $(PACKAGE)-$(VERSION).$(ARCH).gz
+ 	gzip -9 $(PACKAGE)-$(VERSION).$(ARCH)
+ 
+-distkey: netrek-client-cow $(KEYFILE)
+-	echo "This is an automatic generated mail." >key.mail
+-	echo "Please add the following $(ARCH) COW key to the metaserver:" >>key.mail
+-	echo "" >>key.mail
+-	cat $(KEYFILE) >>key.mail
+-	echo "" >>key.mail
+-	./netrek-client-cow -v >>key.mail
+-	cat key.mail | $(MAIL) $(KEYGOD)
+-
+ name: name.c version.h patchlevel.h
+ 	$(CC) $(CFLAGS) -o name name.c
+ 
+ depend: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) depend
++	$(MAKE) -f system.mk depend
+ 
+-system.mk: Makefile system.mk.in config.h.in configure install.sh $(KEYDEF)
++system.mk: Makefile system.mk.in config.h.in configure install.sh
+ 	./configure $(CONFFLAGS)
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) depend
++	$(MAKE) -f system.mk depend
+ 
+ install.sh:
+ 	touch install.sh
+ 
+ XTREKRC: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) xtrekrc
++	$(MAKE) -f system.mk xtrekrc
+ 	mv xtrekrc XTREKRC
+ 
+-configure: configure.in
+-	rm -f configure
+-	$(AUTOCONF) configure.in > configure
+-	chmod +x configure
++configure: configure.ac
++	$(AUTOCONF)
+ 
+ unproto: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) unproto
++	$(MAKE) -f system.mk unproto
+ 
+ proto: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) proto
++	$(MAKE) -f system.mk proto
+ 
+ indent: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) indent
++	$(MAKE) -f system.mk indent
+ 
+ to_unix: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) to_unix
++	$(MAKE) -f system.mk to_unix
+ 
+ to_dos: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) to_dos
++	$(MAKE) -f system.mk to_dos
+ 
+ install: system.mk
+-	$(MAKE) -f system.mk KEYDEF=$(KEYDEF) install
++	$(MAKE) -f system.mk install
+ 
+ package:
+ 	fakeroot dpkg-buildpackage -Igtk -Ipygtk -Ipyqt
+diff --git a/README.releasing b/README.releasing
+index 155683c..e1d5398 100644
+--- a/README.releasing
++++ b/README.releasing
+@@ -27,7 +27,7 @@ mv netrek-client-cow-${VERSION}.tar.gz ..
+ 
+ cd /tmp
+ md5sum netrek-client-cow-${VERSION}.tar.gz
+-0ff5366d35a8bce1d4139aa29bead7cc  netrek-client-cow-3.3.0.tar.gz
++b4f686e37b694050e701e4b36f605008  netrek-client-cow-3.3.1.tar.gz
+ 
+ # test build the .tar.gz
+ cd /tmp
+@@ -40,8 +40,7 @@ make
+ # release
+ cd /tmp
+ cp netrek-client-cow-${VERSION}.tar.gz ~/public_html/external/mine/netrek/
+-cd ~/public_html/external/
+-. to-au
++upw
+ http://quozl.linux.org.au/netrek/
+ 
+ # orion upload
+diff --git a/autogen.sh b/autogen.sh
+old mode 100644
+new mode 100755
+diff --git a/camera.c b/camera.c
+index 994dcde..e2f67fe 100644
+--- a/camera.c
++++ b/camera.c
+@@ -22,13 +22,11 @@ static int initialised = 0;
+ 
+ void camera_init(Display *arg_disp, Window arg_window) {
+   if (initialised) return;
+-  int depth;
+   disp = arg_disp;
+   tw = arg_window;
+ 
+   scr = ScreenOfDisplay(disp, DefaultScreen(disp));
+   vis = DefaultVisual(disp, XScreenNumberOfScreen(scr));
+-  depth = DefaultDepth(disp, XScreenNumberOfScreen(scr));
+   cm = DefaultColormap(disp, XScreenNumberOfScreen(scr));
+   rw = RootWindow(disp, XScreenNumberOfScreen(scr));
+ 
+diff --git a/config.h.in b/config.h.in
+index 56596c3..c8eea7a 100644
+--- a/config.h.in
++++ b/config.h.in
+@@ -24,9 +24,6 @@
+ */
+ 
+ 
+-/*  	RSA 			- New RSA reserved packets stuff 		*/
+-/* #define RSA  		- Defined in the Makefile 			*/
+-
+ #define RCD                     /* RCD             - Support Reciever variable
+                                                      distresses */
+ 
+diff --git a/configure.in b/configure.ac
+similarity index 70%
+rename from configure.in
+rename to configure.ac
+index 086e4ca..ce956ee 100644
+--- a/configure.in
++++ b/configure.ac
+@@ -5,10 +5,6 @@ AC_INIT(name.c)
+ AC_CANONICAL_SYSTEM
+ AC_CONFIG_HEADER(config.h)
+ 
+-AC_MSG_CHECKING(your key)
+-AC_ARG_WITH(key, [  --with-key              key definition file],KEYDEF=$withval,KEYDEF=sample_key.def)
+-AC_SUBST(KEYDEF)
+-
+ AC_PROG_INSTALL
+ 
+ AC_PROG_CC
+@@ -152,117 +148,6 @@ INCS="$INCS $XINCLUDES"
+ AC_SUBST(INCS)
+ LIBS="$LIBS $XLIBSW"
+ 
+-#--------------------------------------------------------------------
+-#	Check for gmp and mp
+-#--------------------------------------------------------------------
+-
+-AC_ARG_WITH(gmp,[  --with-gmp              GMP Dir], MPINC="-I$withval/include"  MPLIB="-L$withval/lib -lgmp" search=false, MPINC=nope MPLIB=nope)
+-if test "$MPINC" = nope; then
+-    AC_MSG_CHECKING(for mp.h)
+-    AC_EGREP_CPP(GNU_MP,[
+-#include <mp.h>
+-__GNU_MP__
+-],
+-        [gnu_mp_ok=yes],
+-        [gnu_mp_ok=no])
+-    if test "x$gnu_mp_ok" = xyes; then
+-        MPINC=nope
+-	search=true
+-	AC_MSG_RESULT(yes)
+-    else
+-        MPINC=""
+-	search=false
+-	AC_MSG_RESULT(no)
+-    fi
+-fi
+-
+-AC_MSG_CHECKING(for gmp.h)
+-
+-if test "$MPINC" = nope; then
+-   dirs="$srcdir/gmp-2.0.2 /usr/unsupported/include /usr/local/include \
+-      /usr/gnu/include /usr/gnu/include/mp /usr/local/gnu/include \
+-      /usr/local/gnu/include/mp /usr/include/gnu /usr/local/lib/gmp-2.0.2"
+-   for i in $dirs; do
+-      if test -r $i/gmp.h; then
+-	MPINC="-I$i"
+-      fi
+-   done
+-fi
+-
+-if test "$MPINC" = nope; then
+-
+-# mp not supported with new mkkey.
+-   AC_TRY_CPP([#include <mp.h>], MPINC=nope , MPINC=nope)
+-
+-   if test "$MPINC" = nope; then
+-      MPINC="# -I."
+-      NORSA="#"
+-      AC_MSG_RESULT(no)
+-   else
+-     AC_MSG_RESULT(yes)
+-   fi
+-else
+-   AC_MSG_RESULT(yes)
+-fi
+-
+-AC_SUBST(MPINC)
+-
+-# Checking for GMP 2
+-SAVEINCS="$INCS"
+-INCS="$INCS $XINCLUDES"
+-AC_EGREP_CPP("gmp=.*[[02-9]]", [
+-  #include <gmp.h>
+-  gmp=__GNU_MP__
+-  ],AC_DEFINE(HAVE_GMP2_H))
+-INCS="$SAVEINCS"
+-
+-if test "$MPLIB" = nope; then
+-  if test "$search" = true; then
+-    MPLIB=nope
+-  else
+-    AC_CHECK_LIB(mp, main, MPLIB="-lmp", MPLIB=" ")
+-    AC_CHECK_LIB(gmp, main, MPLIB="$MPLIB -lgmp", MPLIB=nope)
+-  fi
+-  if test "$MPLIB" = nope; then
+-    dirs="$srcdir/gmp-2.0.2 /usr/unsupported/lib /usr/local/lib /usr/gnu/lib \
+-      /usr/local/gnu/lib /usr/lib/gnu /usr/local/lib/gmp-2.0.2"
+-    for i in $dirs; do
+-      if test -r $i/libmp.a; then
+-    	MPLIB="-L$i -lmp"
+-      fi
+-      if test -r $i/libgmp.a; then
+-	MPLIB="-L$i -lgmp"
+-	AC_MSG_RESULT(yes)
+-      fi
+-    done
+-  fi
+-fi
+-if test "$MPLIB" = nope; then
+-   AC_CHECK_LIB(mp, main, MPLIB=bsdmp, MPLIB=nope)
+-   if test "$MPLIB" = bsdmp; then
+-      echo "Sorry COW requires gmp not mp for RSA."
+-      MPLIB="# -L. -lmp -lgmp"
+-      NORSA="#"
+-   fi
+-   if test "$MPLIB" = nope; then
+-      echo Warning mp or gmp library not found, turning RSA off.
+-      MPLIB="# -L. -lmp -lgmp"
+-      NORSA="#"
+-   fi
+-fi
+-AC_SUBST(MPLIB)
+-
+-if ! test -r "$srcdir/mkkey.c"; then
+-    echo
+-    echo Warning RSA utilities for COW build not found in source, turning RSA off.
+-    NORSA="#"
+-    echo
+-fi
+-
+-AC_SUBST(RSAINC)
+-AC_SUBST(RSALIB)
+-AC_SUBST(NORSA)
+-
+ #--------------------------------------------------------------------
+ #	Check for the existence of various libraries.  The order here
+ #	is important, so that then end up in the right order in the
+@@ -291,6 +176,12 @@ AC_REPLACE_FUNCS(usleep setstate strdup rint)
+ #       Check for system dependent programs
+ #--------------------------------------------------------------------
+ 
++#--------------------------------------------------------------------
++#       Check for Imlib
++#--------------------------------------------------------------------
++AC_SEARCH_LIBS([imlib_load_image], [Imlib2], [],
++               [AC_MSG_ERROR([Could not find Imlib2])])
++
+ #--------------------------------------------------------------------
+ #       Check for SDL
+ #--------------------------------------------------------------------
+@@ -307,9 +198,7 @@ if test x$no_sdl != xyes; then
+   fi
+ fi
+ 
+-AM_GNU_GETTEXT([external])
+-
+ #--------------------------------------------------------------------
+ #       Emit output
+ #--------------------------------------------------------------------
+-AC_OUTPUT(system.mk key.mk po/Makefile.in)
++AC_OUTPUT(system.mk)
+diff --git a/cow.html b/cow.html
+index 43879df..db99302 100644
+--- a/cow.html
++++ b/cow.html
+@@ -866,12 +866,12 @@ Still, they're there!
+ 
+ [Note: This is not yet implemented in WinCOW ]
+ <p>
+-     You may execute any Unix shell comand within the client. Read your mail 
+-now within the client. To do so, just send a message to the destination 
+-&quot;!&quot; and you get a shell prompt. Enter the comand and it's output will
++     You may execute any Unix shell command within the client. Read your mail
++now within the client. To do so, just send a message to the destination
++&quot;!&quot; and you get a shell prompt. Enter the command and it's output will
+ be displayed in the tools window. Works also with macros to &quot;!&quot;.
+ You may disable it in the .xtrekrc for security reasons with shellTools: off
+-CAUTION: The client will be blocked for the time the comand is executed.
++CAUTION: The client will be blocked for the time the command is executed.
+ Also some programs suspend the client if it is started in the background.
+ 
+ 
+diff --git a/cowapi.h b/cowapi.h
+index 811a4ef..28dd7e6 100644
+--- a/cowapi.h
++++ b/cowapi.h
+@@ -73,17 +73,6 @@ extern int takeNearest;
+  extern unsigned LONG  netaddr;
+ #endif
+ 
+-#ifdef RSA
+-extern int RSA_Client;
+-extern char key_name[];
+-extern char client_type[];
+-extern char client_arch[];
+-extern char client_creator[];
+-extern char client_comments[];
+-extern char client_key_date[];
+-
+-#endif
+-
+ #ifdef TOOLS
+ extern char *wwwlink;
+ extern char *upgradeURL;
+diff --git a/cowmain.c b/cowmain.c
+index 27eb29e..99f4984 100644
+--- a/cowmain.c
++++ b/cowmain.c
+@@ -145,7 +145,7 @@ char   *str;
+ 
+   if (!server_count)
+     {
+-      fprintf(stderr, _("No server list, cannot resolve id\n"));
++      fprintf(stderr, "No server list, cannot resolve id\n");
+       return -1;
+     }
+ 
+@@ -163,7 +163,7 @@ char   *str;
+     }
+   if (i == server_count)
+     {
+-      fprintf(stderr, _("Specified server not found.\n"));
++      fprintf(stderr, "Specified server not found.\n");
+       return -1;
+     }
+ 
+@@ -662,7 +662,7 @@ int     cowmain(char *server, int port, char *name)
+ 	serverName = server;
+     }
+ 
+-  SRANDOM(getpid() * time((LONG *) 0));
++  SRANDOM(getpid() * time(NULL));
+ 
+   if (!passive)
+     {
+diff --git a/data.h b/data.h
+index a37b2d5..90da063 100644
+--- a/data.h
++++ b/data.h
+@@ -129,18 +129,6 @@ extern unsigned LONG netaddr;			 /* for blessing */
+ 
+ extern int messageon;
+ 
+-#ifdef RSA
+-extern char testdata[];
+-extern int RSA_Client;
+-extern char key_name[];
+-extern char client_type[];
+-extern char client_arch[];
+-extern char client_creator[];
+-extern char client_comments[];
+-extern char client_key_date[];
+-
+-#endif
+-
+ #ifdef META
+ extern char *metaserver;
+ extern int metaport;
+diff --git a/defs.h b/defs.h
+index 53af2f9..2a57e6a 100644
+--- a/defs.h
++++ b/defs.h
+@@ -2,8 +2,6 @@
+ #define _h_defs
+ 
+ #include "copyright.h"
+-#include "gettext.h"
+-#define _(string) gettext (string)
+ 
+ /* #$!@$#% length of address field of messages */
+ #define ADDRLEN 10
+@@ -91,9 +89,6 @@
+                                  * tractor beam */
+ 
+ 
+-/* RSA stuff */
+-#define RSA_VERSION "RSA v2.0 CLIENT"   /* string must begin with
+-                                         * characters "RSA" */
+ #define KEY_SIZE 32
+ #define RESERVED_SIZE 16
+ #define NAME_LEN 16
+diff --git a/dmessage.c b/dmessage.c
+index 34b35b4..76e79b1 100644
+--- a/dmessage.c
++++ b/dmessage.c
+@@ -35,7 +35,7 @@ void dmessage(char *message, unsigned char flags, unsigned char from, unsigned c
+   register int len;
+   W_Color color;
+   char    timebuf[10];
+-  LONG    curtime;
++  time_t  curtime;
+   struct tm *tm;
+   int     take, destroy, team, kill, killp, killa, bomb, conq;
+   struct distress dist;
+diff --git a/getname.c b/getname.c
+index 2d6e419..be5071b 100644
+--- a/getname.c
++++ b/getname.c
+@@ -415,7 +415,7 @@ void getname(char *defname, char *defpasswd)
+       break;
+     }
+ 
+-    events(0);
++    events();
+     
+     if (automatic) {
+       timeout.tv_sec = 0;
+@@ -498,7 +498,7 @@ void getname(char *defname, char *defpasswd)
+     }
+ 
+     if (FD_ISSET(W_Socket(), &readfds))
+-      while (W_EventsQueuedCk()) events(0);
++      while (W_EventsQueuedCk()) events();
+ 
+     if (time(0) != lasttime) {
+       lasttime++;
+diff --git a/gettext.h b/gettext.h
+deleted file mode 100644
+index 209921e..0000000
+--- a/gettext.h
++++ /dev/null
+@@ -1,271 +0,0 @@
+-/* Convenience header for conditional use of GNU <libintl.h>.
+-   Copyright (C) 1995-1998, 2000-2002, 2004-2006 Free Software Foundation, Inc.
+-
+-   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, 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
+-   Library General Public License for more details.
+-
+-   You should have received a copy of the GNU General Public
+-   License along with this program; if not, write to the Free Software
+-   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
+-   USA.  */
+-
+-#ifndef _LIBGETTEXT_H
+-#define _LIBGETTEXT_H 1
+-
+-/* NLS can be disabled through the configure --disable-nls option.  */
+-#if ENABLE_NLS
+-
+-/* Get declarations of GNU message catalog functions.  */
+-# include <libintl.h>
+-
+-/* You can set the DEFAULT_TEXT_DOMAIN macro to specify the domain used by
+-   the gettext() and ngettext() macros.  This is an alternative to calling
+-   textdomain(), and is useful for libraries.  */
+-# ifdef DEFAULT_TEXT_DOMAIN
+-#  undef gettext
+-#  define gettext(Msgid) \
+-     dgettext (DEFAULT_TEXT_DOMAIN, Msgid)
+-#  undef ngettext
+-#  define ngettext(Msgid1, Msgid2, N) \
+-     dngettext (DEFAULT_TEXT_DOMAIN, Msgid1, Msgid2, N)
+-# endif
+-
+-#else
+-
+-/* Solaris /usr/include/locale.h includes /usr/include/libintl.h, which
+-   chokes if dcgettext is defined as a macro.  So include it now, to make
+-   later inclusions of <locale.h> a NOP.  We don't include <libintl.h>
+-   as well because people using "gettext.h" will not include <libintl.h>,
+-   and also including <libintl.h> would fail on SunOS 4, whereas <locale.h>
+-   is OK.  */
+-#if defined(__sun)
+-# include <locale.h>
+-#endif
+-
+-/* Many header files from the libstdc++ coming with g++ 3.3 or newer include
+-   <libintl.h>, which chokes if dcgettext is defined as a macro.  So include
+-   it now, to make later inclusions of <libintl.h> a NOP.  */
+-#if defined(__cplusplus) && defined(__GNUG__) && (__GNUC__ >= 3)
+-# include <cstdlib>
+-# if (__GLIBC__ >= 2) || _GLIBCXX_HAVE_LIBINTL_H
+-#  include <libintl.h>
+-# endif
+-#endif
+-
+-/* Disabled NLS.
+-   The casts to 'const char *' serve the purpose of producing warnings
+-   for invalid uses of the value returned from these functions.
+-   On pre-ANSI systems without 'const', the config.h file is supposed to
+-   contain "#define const".  */
+-# define gettext(Msgid) ((const char *) (Msgid))
+-# define dgettext(Domainname, Msgid) ((void) (Domainname), gettext (Msgid))
+-# define dcgettext(Domainname, Msgid, Category) \
+-    ((void) (Category), dgettext (Domainname, Msgid))
+-# define ngettext(Msgid1, Msgid2, N) \
+-    ((N) == 1 \
+-     ? ((void) (Msgid2), (const char *) (Msgid1)) \
+-     : ((void) (Msgid1), (const char *) (Msgid2)))
+-# define dngettext(Domainname, Msgid1, Msgid2, N) \
+-    ((void) (Domainname), ngettext (Msgid1, Msgid2, N))
+-# define dcngettext(Domainname, Msgid1, Msgid2, N, Category) \
+-    ((void) (Category), dngettext(Domainname, Msgid1, Msgid2, N))
+-# define textdomain(Domainname) ((const char *) (Domainname))
+-# define bindtextdomain(Domainname, Dirname) \
+-    ((void) (Domainname), (const char *) (Dirname))
+-# define bind_textdomain_codeset(Domainname, Codeset) \
+-    ((void) (Domainname), (const char *) (Codeset))
+-
+-#endif
+-
+-/* A pseudo function call that serves as a marker for the automated
+-   extraction of messages, but does not call gettext().  The run-time
+-   translation is done at a different place in the code.
+-   The argument, String, should be a literal string.  Concatenated strings
+-   and other string expressions won't work.
+-   The macro's expansion is not parenthesized, so that it is suitable as
+-   initializer for static 'char[]' or 'const char[]' variables.  */
+-#define gettext_noop(String) String
+-
+-/* The separator between msgctxt and msgid in a .mo file.  */
+-#define GETTEXT_CONTEXT_GLUE "\004"
+-
+-/* Pseudo function calls, taking a MSGCTXT and a MSGID instead of just a
+-   MSGID.  MSGCTXT and MSGID must be string literals.  MSGCTXT should be
+-   short and rarely need to change.
+-   The letter 'p' stands for 'particular' or 'special'.  */
+-#ifdef DEFAULT_TEXT_DOMAIN
+-# define pgettext(Msgctxt, Msgid) \
+-   pgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+-#else
+-# define pgettext(Msgctxt, Msgid) \
+-   pgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+-#endif
+-#define dpgettext(Domainname, Msgctxt, Msgid) \
+-  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, LC_MESSAGES)
+-#define dcpgettext(Domainname, Msgctxt, Msgid, Category) \
+-  pgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, Category)
+-#ifdef DEFAULT_TEXT_DOMAIN
+-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+-   npgettext_aux (DEFAULT_TEXT_DOMAIN, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+-#else
+-# define npgettext(Msgctxt, Msgid, MsgidPlural, N) \
+-   npgettext_aux (NULL, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+-#endif
+-#define dnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+-  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, LC_MESSAGES)
+-#define dcnpgettext(Domainname, Msgctxt, Msgid, MsgidPlural, N, Category) \
+-  npgettext_aux (Domainname, Msgctxt GETTEXT_CONTEXT_GLUE Msgid, Msgid, MsgidPlural, N, Category)
+-
+-#ifdef __GNUC__
+-__inline
+-#else
+-#ifdef __cplusplus
+-inline
+-#endif
+-#endif
+-static const char *
+-pgettext_aux (const char *domain,
+-	      const char *msg_ctxt_id, const char *msgid,
+-	      int category)
+-{
+-  const char *translation = dcgettext (domain, msg_ctxt_id, category);
+-  if (translation == msg_ctxt_id)
+-    return msgid;
+-  else
+-    return translation;
+-}
+-
+-#ifdef __GNUC__
+-__inline
+-#else
+-#ifdef __cplusplus
+-inline
+-#endif
+-#endif
+-static const char *
+-npgettext_aux (const char *domain,
+-	       const char *msg_ctxt_id, const char *msgid,
+-	       const char *msgid_plural, unsigned long int n,
+-	       int category)
+-{
+-  const char *translation =
+-    dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+-  if (translation == msg_ctxt_id || translation == msgid_plural)
+-    return (n == 1 ? msgid : msgid_plural);
+-  else
+-    return translation;
+-}
+-
+-/* The same thing extended for non-constant arguments.  Here MSGCTXT and MSGID
+-   can be arbitrary expressions.  But for string literals these macros are
+-   less efficient than those above.  */
+-
+-#include <string.h>
+-
+-#define _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS \
+-  (((__GNUC__ >= 3 || __GNUG__ >= 2) && !__STRICT_ANSI__) \
+-   /* || __STDC_VERSION__ >= 199901L */ )
+-
+-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+-#include <stdlib.h>
+-#endif
+-
+-#define pgettext_expr(Msgctxt, Msgid) \
+-  dcpgettext_expr (NULL, Msgctxt, Msgid, LC_MESSAGES)
+-#define dpgettext_expr(Domainname, Msgctxt, Msgid) \
+-  dcpgettext_expr (Domainname, Msgctxt, Msgid, LC_MESSAGES)
+-
+-#ifdef __GNUC__
+-__inline
+-#else
+-#ifdef __cplusplus
+-inline
+-#endif
+-#endif
+-static const char *
+-dcpgettext_expr (const char *domain,
+-		 const char *msgctxt, const char *msgid,
+-		 int category)
+-{
+-  size_t msgctxt_len = strlen (msgctxt) + 1;
+-  size_t msgid_len = strlen (msgid) + 1;
+-  const char *translation;
+-#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+-  char msg_ctxt_id[msgctxt_len + msgid_len];
+-#else
+-  char buf[1024];
+-  char *msg_ctxt_id =
+-    (msgctxt_len + msgid_len <= sizeof (buf)
+-     ? buf
+-     : (char *) malloc (msgctxt_len + msgid_len));
+-  if (msg_ctxt_id != NULL)
+-#endif
+-    {
+-      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+-      msg_ctxt_id[msgctxt_len - 1] = '\004';
+-      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+-      translation = dcgettext (domain, msg_ctxt_id, category);
+-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+-      if (msg_ctxt_id != buf)
+-	free (msg_ctxt_id);
+-#endif
+-      if (translation != msg_ctxt_id)
+-	return translation;
+-    }
+-  return msgid;
+-}
+-
+-#define npgettext_expr(Msgctxt, Msgid, MsgidPlural, N) \
+-  dcnpgettext_expr (NULL, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+-#define dnpgettext_expr(Domainname, Msgctxt, Msgid, MsgidPlural, N) \
+-  dcnpgettext_expr (Domainname, Msgctxt, Msgid, MsgidPlural, N, LC_MESSAGES)
+-
+-#ifdef __GNUC__
+-__inline
+-#else
+-#ifdef __cplusplus
+-inline
+-#endif
+-#endif
+-static const char *
+-dcnpgettext_expr (const char *domain,
+-		  const char *msgctxt, const char *msgid,
+-		  const char *msgid_plural, unsigned long int n,
+-		  int category)
+-{
+-  size_t msgctxt_len = strlen (msgctxt) + 1;
+-  size_t msgid_len = strlen (msgid) + 1;
+-  const char *translation;
+-#if _LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+-  char msg_ctxt_id[msgctxt_len + msgid_len];
+-#else
+-  char buf[1024];
+-  char *msg_ctxt_id =
+-    (msgctxt_len + msgid_len <= sizeof (buf)
+-     ? buf
+-     : (char *) malloc (msgctxt_len + msgid_len));
+-  if (msg_ctxt_id != NULL)
+-#endif
+-    {
+-      memcpy (msg_ctxt_id, msgctxt, msgctxt_len - 1);
+-      msg_ctxt_id[msgctxt_len - 1] = '\004';
+-      memcpy (msg_ctxt_id + msgctxt_len, msgid, msgid_len);
+-      translation = dcngettext (domain, msg_ctxt_id, msgid_plural, n, category);
+-#if !_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS
+-      if (msg_ctxt_id != buf)
+-	free (msg_ctxt_id);
+-#endif
+-      if (!(translation == msg_ctxt_id || translation == msgid_plural))
+-	return translation;
+-    }
+-  return (n == 1 ? msgid : msgid_plural);
+-}
+-
+-#endif /* _LIBGETTEXT_H */
+diff --git a/inform.c b/inform.c
+index 1c419ac..37b66cc 100644
+--- a/inform.c
++++ b/inform.c
+@@ -39,7 +39,6 @@ void inform(W_Window ww, int x, int y, char key)
+   register struct player *j;
+   register struct planet *k;
+   int     mx, my;
+-  double  dist;
+   struct obtype *gettarget(W_Window ww, int x, int y, int targtype), *target;
+   int     windowWidth, windowHeight;
+   float   KillsPerHour, LossesPerHour;		 /* SB info window changed to
+@@ -215,8 +214,6 @@ void inform(W_Window ww, int x, int y, char key)
+ 			   2, foreColor);
+       W_MapWindow(infow);
+       k = &planets[target->o_num];
+-      dist = hypot((double) (me->p_x - k->pl_x),
+-		   (double) (me->p_y - k->pl_y));
+       if ((k->pl_info & me->p_team)
+ 
+ #ifdef RECORDGAME
+diff --git a/interface.c b/interface.c
+index 52903a8..537d9e4 100644
+--- a/interface.c
++++ b/interface.c
+@@ -102,8 +102,9 @@ void repair_off(void)
+ 
+ void repeat_message(void)
+ {
+-  if (++lastm == MAXMESSAGE);
+-  lastm = 0;
++  if (++lastm == MAXMESSAGE) {
++    lastm = 0;
++  }
+ }
+ 
+ void cloak(void)
+diff --git a/key.mk.in b/key.mk.in
+deleted file mode 100644
+index b5b80b3..0000000
+--- a/key.mk.in
++++ /dev/null
+@@ -1 +0,0 @@
+-KEYDEF = @KEYDEF@
+diff --git a/local.c b/local.c
+index 3487571..2c30e6d 100644
+--- a/local.c
++++ b/local.c
+@@ -1292,7 +1292,7 @@ static void DrawMisc(void) {
+ }
+ 
+ 
+-inline void local(void)
++extern void local(void)
+ /*
+  * Draw out the 'tactical' map
+  */
+@@ -1310,7 +1310,7 @@ inline void local(void)
+ }
+ 
+ 
+-inline void clearLocal(void)
++extern void clearLocal(void)
+ /*
+  * Clear the local map (intelligently rather than just simply wiping
+  * the map).
+diff --git a/local.h b/local.h
+index 18f0bcc..77391ce 100644
+--- a/local.h
++++ b/local.h
+@@ -14,21 +14,17 @@
+ #define PHASER_UPDATE_FUSE 11	 /* Ignore phaser if no update in this time */
+ #define PLASMA_UPDATE_FUSE 6	 /* Ignore plasma if no update in this time */
+ 
+-
+ /* Global Functions */
+- 
+-inline void clearLocal(void);
++
++extern void clearLocal(void);
+ /*
+    Clear the local map (intelligently rather than just simply wiping
+    the map).
+ */
+ 
+-inline void local(void);
++extern void local(void);
+ /*
+    Draw out the 'tactical' map.
+ */
+ 
+-
+-
+ #endif  /* Not defined h_local */
+-
+diff --git a/main.c b/main.c
+index c8f488a..4fe35f5 100644
+--- a/main.c
++++ b/main.c
+@@ -8,7 +8,6 @@
+ #include <time.h>
+ #include INC_SYS_TIME
+ #include <locale.h>
+-#include "gettext.h"
+ 
+ #ifdef TOOLS
+ #include <stdlib.h>
+@@ -75,8 +74,6 @@ int main2(int argc, char **argv)
+   program = argv[0];
+ 
+   setlocale(LC_ALL, "");
+-  bindtextdomain("netrek-client-cow", "po/");
+-  textdomain("netrek-client-cow");
+ 
+ #ifdef WINDOWMAKER
+   wm_argv=argv;
+@@ -220,7 +217,7 @@ int main2(int argc, char **argv)
+ 	    case 'm': /* use multiple metaservers by UDP */
+ 	      if (usemeta && usemeta != 1)
+ 		{
+-		  fputs(_("The options -k and -m and -M are mutually exclusive\n"),
++		  fputs("The options -k and -m and -M are mutually exclusive\n",
+ 			stderr);
+ 		  err++;
+ 		}
+@@ -230,7 +227,7 @@ int main2(int argc, char **argv)
+ 	    case 'k': /* use metaserver cache from prior -M usage */
+ 	      if (usemeta && usemeta != 2)
+ 		{
+-		  fputs(_("The options -k and -m and -M are mutually exclusive\n"),
++		  fputs("The options -k and -m and -M are mutually exclusive\n",
+ 			stderr);
+ 		  err++;
+ 		}
+@@ -240,7 +237,7 @@ int main2(int argc, char **argv)
+            case 'M': /* use single metaserver by TCP */
+              if (usemeta && usemeta != 3)
+                {
+-                 fputs(_("The options -k, -m and -M are mutually exclusive\n"),
++                 fputs("The options -k, -m and -M are mutually exclusive\n",
+                        stderr);
+                  err++;
+                }
+@@ -254,20 +251,20 @@ int main2(int argc, char **argv)
+ 						  * * * negative here * to
+ 						  * flag * * that it should
+ 						  * override * * xtrekrc */
+-	      printf(_("Using standard binary verification\n"));
++	      printf("Using standard binary verification\n");
+ 	      break;
+ 	    case 'R':
+ 	      RSA_Client = -2;			 /* will be reset leter, set
+ 						  * * * negative here * to
+ 						  * flag * * that it should
+ 						  * override * * xtrekrc */
+-	      printf(_("Using RSA verification\n"));
++	      printf("Using RSA verification\n");
+ 	      break;
+ #else
+ 	    case 'R':
+-	      printf(_("This client does not support RSA verification\n"));
++	      printf("This client does not support RSA verification\n");
+ 	    case 'o':
+-	      printf(_("Using standard binary verification\n"));
++	      printf("Using standard binary verification\n");
+ 	      break;
+ #endif
+ 
+@@ -297,7 +294,7 @@ int main2(int argc, char **argv)
+ 	    case 'U':
+ 	      if ((baseLocalPort = atoi(*argv)) == 0)
+ 		{
+-		  fprintf(stderr, _("Error: -U requires a port number\n"));
++		  fprintf(stderr, "Error: -U requires a port number\n");
+ 		  exit(1);
+ 		}
+ 	      argc--;
+@@ -315,7 +312,7 @@ int main2(int argc, char **argv)
+ 		{
+ 		  ghoststart++;
+ 		  ghost_pno = atoi(*argv);
+-		  printf(_("Emergency restart being attempted...\n"));
++		  printf("Emergency restart being attempted...\n");
+ 		  argv++;
+ 		  argc--;
+ 		}
+@@ -337,8 +334,8 @@ int main2(int argc, char **argv)
+ 	      break;
+ 	    case 'v':
+ 	      printf("%s\n", cowid);
+-	      printf(_("Compile options used: %s\n"), cflags);
+-	      printf(_("Compiled on %s by %s\n"), cdate, cwho);
++	      printf("Compile options used: %s\n", cflags);
++	      printf("Compiled on %s by %s\n", cdate, cwho);
+ 	      printf("%s\n", cbugs);
+ 
+ #ifdef RSA
+@@ -358,7 +355,7 @@ int main2(int argc, char **argv)
+ 
+ #ifdef IGNORE_SIGNALS_SEGV_BUS
+ 	    case 'i':
+-	      printf(_("Ignoring signals SIGSEGV and SIGBUS\n"));
++	      printf("Ignoring signals SIGSEGV and SIGBUS\n");
+ 	      ignore_signals = -1;
+ 	      break;
+ #endif
+@@ -391,7 +388,7 @@ int main2(int argc, char **argv)
+ 	      break;
+ 
+ 	    default:
+-	      fprintf(stderr, _("%s: unknown option '%c'\n"), name, *ptr);
++	      fprintf(stderr, "%s: unknown option '%c'\n", name, *ptr);
+ 	      err++;
+ 	      break;
+ 	    }
+diff --git a/manifest b/manifest
+index 42023f1..ff5b476 100644
+--- a/manifest
++++ b/manifest
+@@ -160,7 +160,7 @@ TODO
+ netrekrc.example
+ autogen.sh
+ config.h.in
+-configure.in
++configure.ac
+ system.mk.in
+ configure
+ config.sub
+@@ -179,8 +179,6 @@ cow.png
+ cow.desktop
+ cow.spec
+ lurk.py
+-gettext.h
+-po
+ INSTALL.SGI
+ beeplite.h
+ censor.h
+diff --git a/map.c b/map.c
+index 75b3d00..d5f7aae 100644
+--- a/map.c
++++ b/map.c
+@@ -465,7 +465,7 @@ static void gu_update()
+ 
+   /* add words for some of the gameup flags */
+   strcpy(gu_text, " ");
+-  if (!context->gameup & GU_UNSAFE) {
++  if (!(context->gameup & GU_UNSAFE)) {
+     strcat(gu_text, "SAFE-IDLE ");
+     eager++;
+   }
+diff --git a/netrek-client-cow.spec b/netrek-client-cow.spec
+new file mode 100644
+index 0000000..bc143c3
+--- /dev/null
++++ b/netrek-client-cow.spec
+@@ -0,0 +1,46 @@
++Name:		netrek-client-cow
++Version:	3.3.1
++Release:	%mkrel 1
++Summary:	Netrek client
++License:	MIT
++Group:		Games/Other
++Source0:	http://netrek.org/files/COW/%{name}-%{version}.tar.gz
++URL:		http://www.netrek.org
++
++BuildRequires:	SDL_mixer-devel
++BuildRequires:	SDL-devel
++BuildRequires:	imlib2-devel
++BuildRequires:	libxxf86vm-devel
++BuildRequires:	gmp-devel
++
++
++%description
++This is a client for the multiplayer game of Netrek, supporting sound,
++color bitmaps recording and playback of games. The game itself has 
++existed for over 20 years, and has a solid playerbase, including some 
++people who have been playing for nearly as long as the game has existed.
++
++
++%prep
++%setup -q
++
++%build
++%configure
++%make
++
++%install
++%makeinstall
++
++%clean
++rm -rf %{buildroot}
++
++%files
++%doc CHANGES README.* TODO *.DOC COPYING XTREKRC.example
++%doc cow.html index.orig.html newbie.html cow.css stars.gif netrekrc.example
++%{_gamesbindir}/%{name}
++%{_datadir}/pixmaps/%{name}/*
++%{_datadir}/applications/%{name}.desktop
++
++%changelog
++* Wed Feb 29 2012 Johnny A. Solbu <solbu@mandriva.org> 3.3.1-1
++- Initial release
+diff --git a/netrekrc.example b/netrekrc.example
+index 20dbd53..bc64830 100644
+--- a/netrekrc.example
++++ b/netrekrc.example
+@@ -43,16 +43,14 @@ name:			guest
+ #password:		oggtpau
+ 
+ ###############################################################################
+-# this sets the default server and port (and verification scheme)
++# this sets the default server and port
+ 
+ server:			se.netrek.org
+ port:			2592
+-useRSA:			on
+ 
+ # you can also make nicknames like:
+ server.bronco:		bronco.ece.cmu.edu
+ port.bronco:		2592
+-useRSA.bronco.ece.cmu.edu:	on
+ 
+ server.hockey:		hockey.netrek.org
+ port.hockey:		2592
+diff --git a/parsemeta.c b/parsemeta.c
+index 6dc31a1..345c7ac 100644
+--- a/parsemeta.c
++++ b/parsemeta.c
+@@ -20,6 +20,7 @@
+ #include <arpa/inet.h>
+ #include <netdb.h>
+ #include <errno.h>
++#include <signal.h>
+ 
+ #include "Wlib.h"
+ #include "defs.h"
+@@ -996,7 +997,7 @@ void    metawindow()
+   static int lastHeight = 0;
+ 
+   if (!metaWin) {
+-    height = 250 + metaHeight * (W_Textheight + 8) + 4 * (metaHeight - 1);
++    height = 350 + metaHeight * (W_Textheight + 8) + 4 * (metaHeight - 1);
+     metaWin = W_MakeWindow("Netrek Server List", 0, 0, 716, height, NULL, 2,
+                            foreColor);
+     W_SetBackgroundImage(metaWin, "Misc/map_back.png");
+diff --git a/playback.c b/playback.c
+index 7afdc0f..4957d0a 100644
+--- a/playback.c
++++ b/playback.c
+@@ -148,11 +148,11 @@ int
+       outmessage[i] = '\0';
+     }
+ 
+-  SRANDOM(time(0));
++  SRANDOM(time(NULL));
+ 
+   initDefaults(deffile);
+ 
+-  SRANDOM(getpid() * time((LONG *) 0));
++  SRANDOM(getpid() * time(NULL));
+ 
+   newwin(display_host, name);
+ 
+diff --git a/po/ChangeLog b/po/ChangeLog
+deleted file mode 100644
+index 3b9f48e..0000000
+--- a/po/ChangeLog
++++ /dev/null
+@@ -1,12 +0,0 @@
+-2009-03-16  gettextize  <bug-gnu-gettext@gnu.org>
+-
+-	* Makefile.in.in: New file, from gettext-0.17.
+-	* Rules-quot: New file, from gettext-0.17.
+-	* boldquot.sed: New file, from gettext-0.17.
+-	* en@boldquot.header: New file, from gettext-0.17.
+-	* en@quot.header: New file, from gettext-0.17.
+-	* insert-header.sin: New file, from gettext-0.17.
+-	* quot.sed: New file, from gettext-0.17.
+-	* remove-potcdate.sin: New file, from gettext-0.17.
+-	* POTFILES.in: New file.
+-
+diff --git a/po/Makefile.in.in b/po/Makefile.in.in
+deleted file mode 100644
+index fecf500..0000000
+--- a/po/Makefile.in.in
++++ /dev/null
+@@ -1,429 +0,0 @@
+-# Makefile for PO directory in any package using GNU gettext.
+-# Copyright (C) 1995-1997, 2000-2007 by Ulrich Drepper <drepper@gnu.ai.mit.edu>
+-#
+-# This file can be copied and used freely without restrictions.  It can
+-# be used in projects which are not available under the GNU General Public
+-# License but which still want to provide support for the GNU gettext
+-# functionality.
+-# Please note that the actual code of GNU gettext is covered by the GNU
+-# General Public License and is *not* in the public domain.
+-#
+-# Origin: gettext-0.17
+-GETTEXT_MACRO_VERSION = 0.17
+-
+-PACKAGE = @PACKAGE@
+-VERSION = @VERSION@
+-PACKAGE_BUGREPORT = @PACKAGE_BUGREPORT@
+-
+-SHELL = /bin/sh
+-@SET_MAKE@
+-
+-srcdir = @srcdir@
+-top_srcdir = @top_srcdir@
+-VPATH = @srcdir@
+-
+-prefix = @prefix@
+-exec_prefix = @exec_prefix@
+-datarootdir = @datarootdir@
+-datadir = @datadir@
+-localedir = @localedir@
+-gettextsrcdir = $(datadir)/gettext/po
+-
+-INSTALL = @INSTALL@
+-INSTALL_DATA = @INSTALL_DATA@
+-
+-# We use $(mkdir_p).
+-# In automake <= 1.9.x, $(mkdir_p) is defined either as "mkdir -p --" or as
+-# "$(mkinstalldirs)" or as "$(install_sh) -d". For these automake versions,
+-# @install_sh@ does not start with $(SHELL), so we add it.
+-# In automake >= 1.10, @mkdir_p@ is derived from ${MKDIR_P}, which is defined
+-# either as "/path/to/mkdir -p" or ".../install-sh -c -d". For these automake
+-# versions, $(mkinstalldirs) and $(install_sh) are unused.
+-mkinstalldirs = $(SHELL) @install_sh@ -d
+-install_sh = $(SHELL) @install_sh@
+-MKDIR_P = @MKDIR_P@
+-mkdir_p = @mkdir_p@
+-
+-GMSGFMT_ = @GMSGFMT@
+-GMSGFMT_no = @GMSGFMT@
+-GMSGFMT_yes = @GMSGFMT_015@
+-GMSGFMT = $(GMSGFMT_$(USE_MSGCTXT))
+-MSGFMT_ = @MSGFMT@
+-MSGFMT_no = @MSGFMT@
+-MSGFMT_yes = @MSGFMT_015@
+-MSGFMT = $(MSGFMT_$(USE_MSGCTXT))
+-XGETTEXT_ = @XGETTEXT@
+-XGETTEXT_no = @XGETTEXT@
+-XGETTEXT_yes = @XGETTEXT_015@
+-XGETTEXT = $(XGETTEXT_$(USE_MSGCTXT))
+-MSGMERGE = msgmerge
+-MSGMERGE_UPDATE = @MSGMERGE@ --update
+-MSGINIT = msginit
+-MSGCONV = msgconv
+-MSGFILTER = msgfilter
+-
+-POFILES = @POFILES@
+-GMOFILES = @GMOFILES@
+-UPDATEPOFILES = @UPDATEPOFILES@
+-DUMMYPOFILES = @DUMMYPOFILES@
+-DISTFILES.common = Makefile.in.in remove-potcdate.sin \
+-$(DISTFILES.common.extra1) $(DISTFILES.common.extra2) $(DISTFILES.common.extra3)
+-DISTFILES = $(DISTFILES.common) Makevars POTFILES.in \
+-$(POFILES) $(GMOFILES) \
+-$(DISTFILES.extra1) $(DISTFILES.extra2) $(DISTFILES.extra3)
+-
+-POTFILES = \
+-
+-CATALOGS = @CATALOGS@
+-
+-# Makevars gets inserted here. (Don't remove this line!)
+-
+-.SUFFIXES:
+-.SUFFIXES: .po .gmo .mo .sed .sin .nop .po-create .po-update
+-
+-.po.mo:
+-	@echo "$(MSGFMT) -c -o $@ $<"; \
+-	$(MSGFMT) -c -o t-$@ $< && mv t-$@ $@
+-
+-.po.gmo:
+-	@lang=`echo $* | sed -e 's,.*/,,'`; \
+-	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+-	echo "$${cdcmd}rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o $${lang}.gmo $${lang}.po"; \
+-	cd $(srcdir) && rm -f $${lang}.gmo && $(GMSGFMT) -c --statistics -o t-$${lang}.gmo $${lang}.po && mv t-$${lang}.gmo $${lang}.gmo
+-
+-.sin.sed:
+-	sed -e '/^#/d' $< > t-$@
+-	mv t-$@ $@
+-
+-
+-all: check-macro-version all-@USE_NLS@
+-
+-all-yes: stamp-po
+-all-no:
+-
+-# Ensure that the gettext macros and this Makefile.in.in are in sync.
+-check-macro-version:
+-	@test "$(GETTEXT_MACRO_VERSION)" = "@GETTEXT_MACRO_VERSION@" \
+-	  || { echo "*** error: gettext infrastructure mismatch: using a Makefile.in.in from gettext version $(GETTEXT_MACRO_VERSION) but the autoconf macros are from gettext version @GETTEXT_MACRO_VERSION@" 1>&2; \
+-	       exit 1; \
+-	     }
+-
+-# $(srcdir)/$(DOMAIN).pot is only created when needed. When xgettext finds no
+-# internationalized messages, no $(srcdir)/$(DOMAIN).pot is created (because
+-# we don't want to bother translators with empty POT files). We assume that
+-# LINGUAS is empty in this case, i.e. $(POFILES) and $(GMOFILES) are empty.
+-# In this case, stamp-po is a nop (i.e. a phony target).
+-
+-# stamp-po is a timestamp denoting the last time at which the CATALOGS have
+-# been loosely updated. Its purpose is that when a developer or translator
+-# checks out the package via CVS, and the $(DOMAIN).pot file is not in CVS,
+-# "make" will update the $(DOMAIN).pot and the $(CATALOGS), but subsequent
+-# invocations of "make" will do nothing. This timestamp would not be necessary
+-# if updating the $(CATALOGS) would always touch them; however, the rule for
+-# $(POFILES) has been designed to not touch files that don't need to be
+-# changed.
+-stamp-po: $(srcdir)/$(DOMAIN).pot
+-	test ! -f $(srcdir)/$(DOMAIN).pot || \
+-	  test -z "$(GMOFILES)" || $(MAKE) $(GMOFILES)
+-	@test ! -f $(srcdir)/$(DOMAIN).pot || { \
+-	  echo "touch stamp-po" && \
+-	  echo timestamp > stamp-poT && \
+-	  mv stamp-poT stamp-po; \
+-	}
+-
+-# Note: Target 'all' must not depend on target '$(DOMAIN).pot-update',
+-# otherwise packages like GCC can not be built if only parts of the source
+-# have been downloaded.
+-
+-# This target rebuilds $(DOMAIN).pot; it is an expensive operation.
+-# Note that $(DOMAIN).pot is not touched if it doesn't need to be changed.
+-$(DOMAIN).pot-update: $(POTFILES) $(srcdir)/POTFILES.in remove-potcdate.sed
+-	if LC_ALL=C grep 'GNU @PACKAGE@' $(top_srcdir)/* 2>/dev/null | grep -v 'libtool:' >/dev/null; then \
+-	  package_gnu='GNU '; \
+-	else \
+-	  package_gnu=''; \
+-	fi; \
+-	if test -n '$(MSGID_BUGS_ADDRESS)' || test '$(PACKAGE_BUGREPORT)' = '@'PACKAGE_BUGREPORT'@'; then \
+-	  msgid_bugs_address='$(MSGID_BUGS_ADDRESS)'; \
+-	else \
+-	  msgid_bugs_address='$(PACKAGE_BUGREPORT)'; \
+-	fi; \
+-	case `$(XGETTEXT) --version | sed 1q | sed -e 's,^[^0-9]*,,'` in \
+-	  '' | 0.[0-9] | 0.[0-9].* | 0.1[0-5] | 0.1[0-5].* | 0.16 | 0.16.[0-1]*) \
+-	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+-	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+-	      --files-from=$(srcdir)/POTFILES.in \
+-	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
+-	      --msgid-bugs-address="$$msgid_bugs_address" \
+-	    ;; \
+-	  *) \
+-	    $(XGETTEXT) --default-domain=$(DOMAIN) --directory=$(top_srcdir) \
+-	      --add-comments=TRANSLATORS: $(XGETTEXT_OPTIONS) @XGETTEXT_EXTRA_OPTIONS@ \
+-	      --files-from=$(srcdir)/POTFILES.in \
+-	      --copyright-holder='$(COPYRIGHT_HOLDER)' \
+-	      --package-name="$${package_gnu}@PACKAGE@" \
+-	      --package-version='@VERSION@' \
+-	      --msgid-bugs-address="$$msgid_bugs_address" \
+-	    ;; \
+-	esac
+-	test ! -f $(DOMAIN).po || { \
+-	  if test -f $(srcdir)/$(DOMAIN).pot; then \
+-	    sed -f remove-potcdate.sed < $(srcdir)/$(DOMAIN).pot > $(DOMAIN).1po && \
+-	    sed -f remove-potcdate.sed < $(DOMAIN).po > $(DOMAIN).2po && \
+-	    if cmp $(DOMAIN).1po $(DOMAIN).2po >/dev/null 2>&1; then \
+-	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(DOMAIN).po; \
+-	    else \
+-	      rm -f $(DOMAIN).1po $(DOMAIN).2po $(srcdir)/$(DOMAIN).pot && \
+-	      mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+-	    fi; \
+-	  else \
+-	    mv $(DOMAIN).po $(srcdir)/$(DOMAIN).pot; \
+-	  fi; \
+-	}
+-
+-# This rule has no dependencies: we don't need to update $(DOMAIN).pot at
+-# every "make" invocation, only create it when it is missing.
+-# Only "make $(DOMAIN).pot-update" or "make dist" will force an update.
+-$(srcdir)/$(DOMAIN).pot:
+-	$(MAKE) $(DOMAIN).pot-update
+-
+-# This target rebuilds a PO file if $(DOMAIN).pot has changed.
+-# Note that a PO file is not touched if it doesn't need to be changed.
+-$(POFILES): $(srcdir)/$(DOMAIN).pot
+-	@lang=`echo $@ | sed -e 's,.*/,,' -e 's/\.po$$//'`; \
+-	if test -f "$(srcdir)/$${lang}.po"; then \
+-	  test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+-	  echo "$${cdcmd}$(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot"; \
+-	  cd $(srcdir) && $(MSGMERGE_UPDATE) $${lang}.po $(DOMAIN).pot; \
+-	else \
+-	  $(MAKE) $${lang}.po-create; \
+-	fi
+-
+-
+-install: install-exec install-data
+-install-exec:
+-install-data: install-data-@USE_NLS@
+-	if test "$(PACKAGE)" = "gettext-tools"; then \
+-	  $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+-	  for file in $(DISTFILES.common) Makevars.template; do \
+-	    $(INSTALL_DATA) $(srcdir)/$$file \
+-			    $(DESTDIR)$(gettextsrcdir)/$$file; \
+-	  done; \
+-	  for file in Makevars; do \
+-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+-	  done; \
+-	else \
+-	  : ; \
+-	fi
+-install-data-no: all
+-install-data-yes: all
+-	$(mkdir_p) $(DESTDIR)$(datadir)
+-	@catalogs='$(CATALOGS)'; \
+-	for cat in $$catalogs; do \
+-	  cat=`basename $$cat`; \
+-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+-	  dir=$(localedir)/$$lang/LC_MESSAGES; \
+-	  $(mkdir_p) $(DESTDIR)$$dir; \
+-	  if test -r $$cat; then realcat=$$cat; else realcat=$(srcdir)/$$cat; fi; \
+-	  $(INSTALL_DATA) $$realcat $(DESTDIR)$$dir/$(DOMAIN).mo; \
+-	  echo "installing $$realcat as $(DESTDIR)$$dir/$(DOMAIN).mo"; \
+-	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+-	    if test -n "$$lc"; then \
+-	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+-	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+-	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+-	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+-	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+-	         for file in *; do \
+-	           if test -f $$file; then \
+-	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+-	           fi; \
+-	         done); \
+-	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+-	      else \
+-	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+-	          :; \
+-	        else \
+-	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+-	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+-	        fi; \
+-	      fi; \
+-	      rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+-	      ln -s ../LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+-	      ln $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo 2>/dev/null || \
+-	      cp -p $(DESTDIR)$(localedir)/$$lang/LC_MESSAGES/$(DOMAIN).mo $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+-	      echo "installing $$realcat link as $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo"; \
+-	    fi; \
+-	  done; \
+-	done
+-
+-install-strip: install
+-
+-installdirs: installdirs-exec installdirs-data
+-installdirs-exec:
+-installdirs-data: installdirs-data-@USE_NLS@
+-	if test "$(PACKAGE)" = "gettext-tools"; then \
+-	  $(mkdir_p) $(DESTDIR)$(gettextsrcdir); \
+-	else \
+-	  : ; \
+-	fi
+-installdirs-data-no:
+-installdirs-data-yes:
+-	$(mkdir_p) $(DESTDIR)$(datadir)
+-	@catalogs='$(CATALOGS)'; \
+-	for cat in $$catalogs; do \
+-	  cat=`basename $$cat`; \
+-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+-	  dir=$(localedir)/$$lang/LC_MESSAGES; \
+-	  $(mkdir_p) $(DESTDIR)$$dir; \
+-	  for lc in '' $(EXTRA_LOCALE_CATEGORIES); do \
+-	    if test -n "$$lc"; then \
+-	      if (cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc 2>/dev/null) | grep ' -> ' >/dev/null; then \
+-	        link=`cd $(DESTDIR)$(localedir)/$$lang && LC_ALL=C ls -l -d $$lc | sed -e 's/^.* -> //'`; \
+-	        mv $(DESTDIR)$(localedir)/$$lang/$$lc $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+-	        mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+-	        (cd $(DESTDIR)$(localedir)/$$lang/$$lc.old && \
+-	         for file in *; do \
+-	           if test -f $$file; then \
+-	             ln -s ../$$link/$$file $(DESTDIR)$(localedir)/$$lang/$$lc/$$file; \
+-	           fi; \
+-	         done); \
+-	        rm -f $(DESTDIR)$(localedir)/$$lang/$$lc.old; \
+-	      else \
+-	        if test -d $(DESTDIR)$(localedir)/$$lang/$$lc; then \
+-	          :; \
+-	        else \
+-	          rm -f $(DESTDIR)$(localedir)/$$lang/$$lc; \
+-	          mkdir $(DESTDIR)$(localedir)/$$lang/$$lc; \
+-	        fi; \
+-	      fi; \
+-	    fi; \
+-	  done; \
+-	done
+-
+-# Define this as empty until I found a useful application.
+-installcheck:
+-
+-uninstall: uninstall-exec uninstall-data
+-uninstall-exec:
+-uninstall-data: uninstall-data-@USE_NLS@
+-	if test "$(PACKAGE)" = "gettext-tools"; then \
+-	  for file in $(DISTFILES.common) Makevars.template; do \
+-	    rm -f $(DESTDIR)$(gettextsrcdir)/$$file; \
+-	  done; \
+-	else \
+-	  : ; \
+-	fi
+-uninstall-data-no:
+-uninstall-data-yes:
+-	catalogs='$(CATALOGS)'; \
+-	for cat in $$catalogs; do \
+-	  cat=`basename $$cat`; \
+-	  lang=`echo $$cat | sed -e 's/\.gmo$$//'`; \
+-	  for lc in LC_MESSAGES $(EXTRA_LOCALE_CATEGORIES); do \
+-	    rm -f $(DESTDIR)$(localedir)/$$lang/$$lc/$(DOMAIN).mo; \
+-	  done; \
+-	done
+-
+-check: all
+-
+-info dvi ps pdf html tags TAGS ctags CTAGS ID:
+-
+-mostlyclean:
+-	rm -f remove-potcdate.sed
+-	rm -f stamp-poT
+-	rm -f core core.* $(DOMAIN).po $(DOMAIN).1po $(DOMAIN).2po *.new.po
+-	rm -fr *.o
+-
+-clean: mostlyclean
+-
+-distclean: clean
+-	rm -f Makefile Makefile.in POTFILES *.mo
+-
+-maintainer-clean: distclean
+-	@echo "This command is intended for maintainers to use;"
+-	@echo "it deletes files that may require special tools to rebuild."
+-	rm -f stamp-po $(GMOFILES)
+-
+-distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
+-dist distdir:
+-	$(MAKE) update-po
+-	@$(MAKE) dist2
+-# This is a separate target because 'update-po' must be executed before.
+-dist2: stamp-po $(DISTFILES)
+-	dists="$(DISTFILES)"; \
+-	if test "$(PACKAGE)" = "gettext-tools"; then \
+-	  dists="$$dists Makevars.template"; \
+-	fi; \
+-	if test -f $(srcdir)/$(DOMAIN).pot; then \
+-	  dists="$$dists $(DOMAIN).pot stamp-po"; \
+-	fi; \
+-	if test -f $(srcdir)/ChangeLog; then \
+-	  dists="$$dists ChangeLog"; \
+-	fi; \
+-	for i in 0 1 2 3 4 5 6 7 8 9; do \
+-	  if test -f $(srcdir)/ChangeLog.$$i; then \
+-	    dists="$$dists ChangeLog.$$i"; \
+-	  fi; \
+-	done; \
+-	if test -f $(srcdir)/LINGUAS; then dists="$$dists LINGUAS"; fi; \
+-	for file in $$dists; do \
+-	  if test -f $$file; then \
+-	    cp -p $$file $(distdir) || exit 1; \
+-	  else \
+-	    cp -p $(srcdir)/$$file $(distdir) || exit 1; \
+-	  fi; \
+-	done
+-
+-update-po: Makefile
+-	$(MAKE) $(DOMAIN).pot-update
+-	test -z "$(UPDATEPOFILES)" || $(MAKE) $(UPDATEPOFILES)
+-	$(MAKE) update-gmo
+-
+-# General rule for creating PO files.
+-
+-.nop.po-create:
+-	@lang=`echo $@ | sed -e 's/\.po-create$$//'`; \
+-	echo "File $$lang.po does not exist. If you are a translator, you can create it through 'msginit'." 1>&2; \
+-	exit 1
+-
+-# General rule for updating PO files.
+-
+-.nop.po-update:
+-	@lang=`echo $@ | sed -e 's/\.po-update$$//'`; \
+-	if test "$(PACKAGE)" = "gettext-tools"; then PATH=`pwd`/../src:$$PATH; fi; \
+-	tmpdir=`pwd`; \
+-	echo "$$lang:"; \
+-	test "$(srcdir)" = . && cdcmd="" || cdcmd="cd $(srcdir) && "; \
+-	echo "$${cdcmd}$(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$lang.new.po"; \
+-	cd $(srcdir); \
+-	if $(MSGMERGE) $$lang.po $(DOMAIN).pot -o $$tmpdir/$$lang.new.po; then \
+-	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+-	    rm -f $$tmpdir/$$lang.new.po; \
+-	  else \
+-	    if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+-	      :; \
+-	    else \
+-	      echo "msgmerge for $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+-	      exit 1; \
+-	    fi; \
+-	  fi; \
+-	else \
+-	  echo "msgmerge for $$lang.po failed!" 1>&2; \
+-	  rm -f $$tmpdir/$$lang.new.po; \
+-	fi
+-
+-$(DUMMYPOFILES):
+-
+-update-gmo: Makefile $(GMOFILES)
+-	@:
+-
+-Makefile: Makefile.in.in Makevars $(top_builddir)/config.status @POMAKEFILEDEPS@
+-	cd $(top_builddir) \
+-	  && $(SHELL) ./config.status $(subdir)/$@.in po-directories
+-
+-force:
+-
+-# Tell versions [3.59,3.63) of GNU make not to export all variables.
+-# Otherwise a system limit (for SysV at least) may be exceeded.
+-.NOEXPORT:
+diff --git a/po/Makevars b/po/Makevars
+deleted file mode 100644
+index 4db9059..0000000
+--- a/po/Makevars
++++ /dev/null
+@@ -1,41 +0,0 @@
+-# Makefile variables for PO directory in any package using GNU gettext.
+-
+-# Usually the message domain is the same as the package name.
+-DOMAIN = $(PACKAGE)
+-
+-# These two variables depend on the location of this directory.
+-subdir = po
+-top_builddir = ..
+-
+-# These options get passed to xgettext.
+-XGETTEXT_OPTIONS = --keyword=_ --keyword=N_
+-
+-# This is the copyright holder that gets inserted into the header of the
+-# $(DOMAIN).pot file.  Set this to the copyright holder of the surrounding
+-# package.  (Note that the msgstr strings, extracted from the package's
+-# sources, belong to the copyright holder of the package.)  Translators are
+-# expected to transfer the copyright for their translations to this person
+-# or entity, or to disclaim their copyright.  The empty string stands for
+-# the public domain; in this case the translators are expected to disclaim
+-# their copyright.
+-COPYRIGHT_HOLDER = Chris Guthrie, Kevin P. Smith, Scott Silvey, Eric Mehlhaff, Kevin Powell, Nick Trown, Jeff Nelson, Kurt Siegl, Lars Bernhardsson, Nathan Doss, Michael Kantner, James Cameron
+-
+-# This is the email address or URL to which the translators shall report
+-# bugs in the untranslated strings:
+-# - Strings which are not entire sentences, see the maintainer guidelines
+-#   in the GNU gettext documentation, section 'Preparing Strings'.
+-# - Strings which use unclear terms or require additional context to be
+-#   understood.
+-# - Strings which make invalid assumptions about notation of date, time or
+-#   money.
+-# - Pluralisation problems.
+-# - Incorrect English spelling.
+-# - Incorrect formatting.
+-# It can be your email address, or a mailing list address where translators
+-# can write to without being subscribed, or the URL of a web page through
+-# which the translators can contact you.
+-MSGID_BUGS_ADDRESS = netrek-dev@us.netrek.org
+-
+-# This is the list of locale categories, beyond LC_MESSAGES, for which the
+-# message catalogs shall be used.  It is usually empty.
+-EXTRA_LOCALE_CATEGORIES =
+diff --git a/po/POTFILES.in b/po/POTFILES.in
+deleted file mode 100644
+index ab20dcb..0000000
+--- a/po/POTFILES.in
++++ /dev/null
+@@ -1,2 +0,0 @@
+-# List of source files which contain translatable strings.
+-main.c
+diff --git a/po/Rules-quot b/po/Rules-quot
+deleted file mode 100644
+index 9c2a995..0000000
+--- a/po/Rules-quot
++++ /dev/null
+@@ -1,47 +0,0 @@
+-# Special Makefile rules for English message catalogs with quotation marks.
+-
+-DISTFILES.common.extra1 = quot.sed boldquot.sed en@quot.header en@boldquot.header insert-header.sin Rules-quot
+-
+-.SUFFIXES: .insert-header .po-update-en
+-
+-en@quot.po-create:
+-	$(MAKE) en@quot.po-update
+-en@boldquot.po-create:
+-	$(MAKE) en@boldquot.po-update
+-
+-en@quot.po-update: en@quot.po-update-en
+-en@boldquot.po-update: en@boldquot.po-update-en
+-
+-.insert-header.po-update-en:
+-	@lang=`echo $@ | sed -e 's/\.po-update-en$$//'`; \
+-	if test "$(PACKAGE)" = "gettext"; then PATH=`pwd`/../src:$$PATH; GETTEXTLIBDIR=`cd $(top_srcdir)/src && pwd`; export GETTEXTLIBDIR; fi; \
+-	tmpdir=`pwd`; \
+-	echo "$$lang:"; \
+-	ll=`echo $$lang | sed -e 's/@.*//'`; \
+-	LC_ALL=C; export LC_ALL; \
+-	cd $(srcdir); \
+-	if $(MSGINIT) -i $(DOMAIN).pot --no-translator -l $$ll -o - 2>/dev/null | sed -f $$tmpdir/$$lang.insert-header | $(MSGCONV) -t UTF-8 | $(MSGFILTER) sed -f `echo $$lang | sed -e 's/.*@//'`.sed 2>/dev/null > $$tmpdir/$$lang.new.po; then \
+-	  if cmp $$lang.po $$tmpdir/$$lang.new.po >/dev/null 2>&1; then \
+-	    rm -f $$tmpdir/$$lang.new.po; \
+-	  else \
+-	    if mv -f $$tmpdir/$$lang.new.po $$lang.po; then \
+-	      :; \
+-	    else \
+-	      echo "creation of $$lang.po failed: cannot move $$tmpdir/$$lang.new.po to $$lang.po" 1>&2; \
+-	      exit 1; \
+-	    fi; \
+-	  fi; \
+-	else \
+-	  echo "creation of $$lang.po failed!" 1>&2; \
+-	  rm -f $$tmpdir/$$lang.new.po; \
+-	fi
+-
+-en@quot.insert-header: insert-header.sin
+-	sed -e '/^#/d' -e 's/HEADER/en@quot.header/g' $(srcdir)/insert-header.sin > en@quot.insert-header
+-
+-en@boldquot.insert-header: insert-header.sin
+-	sed -e '/^#/d' -e 's/HEADER/en@boldquot.header/g' $(srcdir)/insert-header.sin > en@boldquot.insert-header
+-
+-mostlyclean: mostlyclean-quot
+-mostlyclean-quot:
+-	rm -f *.insert-header
+diff --git a/po/TODO b/po/TODO
+deleted file mode 100644
+index 80f06a3..0000000
+--- a/po/TODO
++++ /dev/null
+@@ -1,55 +0,0 @@
+-http://www.gnu.org/software/gettext/FAQ.html#integrating_howto
+-
+-# Add an invocation of AM_GNU_GETTEXT([external]) to the package's
+-  configure.{ac,in} file.  [DONE]
+-
+-# Invoke \u201cgettextize --copy\u201d. It will do most of the
+-  autoconf/automake related work for you.  [DONE]
+-
+-	Please add the files gettext.m4 iconv.m4 lib-ld.m4 lib-link.m4
+-	lib-prefix.m4 nls.m4 po.m4 progtest.m4 from the
+-	/usr/share/aclocal directory to your aclocal.m4 file.
+-
+-	cat
+-	/usr/share/aclocal/{gettext.m4,iconv.m4,lib-ld.m4,lib-link.m4,lib-prefix.m4,nls.m4,po.m4,progtest.m4}
+-	>> aclocal.m4
+-
+-# Add the gettext.h file to the package's source directory, and
+-  include it in all source files that contain translatable strings or
+-  do output via printf or fprintf.  [DONE]
+-
+-# In the source file defining the main() function of the program, add
+-  these lines to the header
+-
+-#include <locale.h>
+-#include "gettext.h"
+-
+-and these lines near the beginning of the main() function:
+-
+-setlocale (LC_ALL, "");
+-bindtextdomain (PACKAGE, LOCALEDIR);
+-textdomain (PACKAGE);
+-
+-[DONE]
+-
+-# Mark all strings that should be translated with _(), like this:
+-  _("No errors found."). While doing this, try to turn the strings
+-  into good English, one entire sentence per string, not more than one
+-  paragraph per string, and use format strings instead of string
+-  concatenation. This is needed so that the translators can provide
+-  accurate translations.  [PARTLY DONE]
+-
+-# In every source file containing translatable strings, add these
+-  lines to the header:
+-
+-#include "gettext.h"
+-#define _(string) gettext (string)
+-
+-# In the freshly created po/ directory, set up the POTFILES.in file,
+-  and do a \u201cmake update-po\u201d. Then distribute the generated
+-  .pot file to your nearest translation project.
+-
+-[PARTLY DONE]
+-
+-# Shortly before a release, integrate the translators' .po files into
+-  the po/ directory and do \u201cmake update-po\u201d again.
+diff --git a/po/boldquot.sed b/po/boldquot.sed
+deleted file mode 100644
+index 4b937aa..0000000
+--- a/po/boldquot.sed
++++ /dev/null
+@@ -1,10 +0,0 @@
+-s/"\([^"]*\)"/“\1”/g
+-s/`\([^`']*\)'/‘\1’/g
+-s/ '\([^`']*\)' / ‘\1’ /g
+-s/ '\([^`']*\)'$/ ‘\1’/g
+-s/^'\([^`']*\)' /‘\1’ /g
+-s/“”/""/g
+-s/“/“^[[1m/g
+-s/”/^[[0m”/g
+-s/‘/‘^[[1m/g
+-s/’/^[[0m’/g
+diff --git a/po/en@boldquot.header b/po/en@boldquot.header
+deleted file mode 100644
+index fedb6a0..0000000
+--- a/po/en@boldquot.header
++++ /dev/null
+@@ -1,25 +0,0 @@
+-# All this catalog "translates" are quotation characters.
+-# The msgids must be ASCII and therefore cannot contain real quotation
+-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+-# and double quote (0x22). These substitutes look strange; see
+-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+-#
+-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+-# It also translates pairs of apostrophe (0x27) to
+-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+-# and pairs of quotation mark (0x22) to
+-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+-#
+-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+-# When output to an ISO-8859-1 terminal, the single quotation marks are
+-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+-# grave/acute accent (by libiconv), and the double quotation marks are
+-# transliterated to 0x22.
+-# When output to an ASCII terminal, the single quotation marks are
+-# transliterated to apostrophes, and the double quotation marks are
+-# transliterated to 0x22.
+-#
+-# This catalog furthermore displays the text between the quotation marks in
+-# bold face, assuming the VT100/XTerm escape sequences.
+-#
+diff --git a/po/en@quot.header b/po/en@quot.header
+deleted file mode 100644
+index a9647fc..0000000
+--- a/po/en@quot.header
++++ /dev/null
+@@ -1,22 +0,0 @@
+-# All this catalog "translates" are quotation characters.
+-# The msgids must be ASCII and therefore cannot contain real quotation
+-# characters, only substitutes like grave accent (0x60), apostrophe (0x27)
+-# and double quote (0x22). These substitutes look strange; see
+-# http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
+-#
+-# This catalog translates grave accent (0x60) and apostrophe (0x27) to
+-# left single quotation mark (U+2018) and right single quotation mark (U+2019).
+-# It also translates pairs of apostrophe (0x27) to
+-# left single quotation mark (U+2018) and right single quotation mark (U+2019)
+-# and pairs of quotation mark (0x22) to
+-# left double quotation mark (U+201C) and right double quotation mark (U+201D).
+-#
+-# When output to an UTF-8 terminal, the quotation characters appear perfectly.
+-# When output to an ISO-8859-1 terminal, the single quotation marks are
+-# transliterated to apostrophes (by iconv in glibc 2.2 or newer) or to
+-# grave/acute accent (by libiconv), and the double quotation marks are
+-# transliterated to 0x22.
+-# When output to an ASCII terminal, the single quotation marks are
+-# transliterated to apostrophes, and the double quotation marks are
+-# transliterated to 0x22.
+-#
+diff --git a/po/insert-header.sin b/po/insert-header.sin
+deleted file mode 100644
+index b26de01..0000000
+--- a/po/insert-header.sin
++++ /dev/null
+@@ -1,23 +0,0 @@
+-# Sed script that inserts the file called HEADER before the header entry.
+-#
+-# At each occurrence of a line starting with "msgid ", we execute the following
+-# commands. At the first occurrence, insert the file. At the following
+-# occurrences, do nothing. The distinction between the first and the following
+-# occurrences is achieved by looking at the hold space.
+-/^msgid /{
+-x
+-# Test if the hold space is empty.
+-s/m/m/
+-ta
+-# Yes it was empty. First occurrence. Read the file.
+-r HEADER
+-# Output the file's contents by reading the next line. But don't lose the
+-# current line while doing this.
+-g
+-N
+-bb
+-:a
+-# The hold space was nonempty. Following occurrences. Do nothing.
+-x
+-:b
+-}
+diff --git a/po/quot.sed b/po/quot.sed
+deleted file mode 100644
+index 0122c46..0000000
+--- a/po/quot.sed
++++ /dev/null
+@@ -1,6 +0,0 @@
+-s/"\([^"]*\)"/“\1”/g
+-s/`\([^`']*\)'/‘\1’/g
+-s/ '\([^`']*\)' / ‘\1’ /g
+-s/ '\([^`']*\)'$/ ‘\1’/g
+-s/^'\([^`']*\)' /‘\1’ /g
+-s/“”/""/g
+diff --git a/po/remove-potcdate.sin b/po/remove-potcdate.sin
+deleted file mode 100644
+index 2436c49..0000000
+--- a/po/remove-potcdate.sin
++++ /dev/null
+@@ -1,19 +0,0 @@
+-# Sed script that remove the POT-Creation-Date line in the header entry
+-# from a POT file.
+-#
+-# The distinction between the first and the following occurrences of the
+-# pattern is achieved by looking at the hold space.
+-/^"POT-Creation-Date: .*"$/{
+-x
+-# Test if the hold space is empty.
+-s/P/P/
+-ta
+-# Yes it was empty. First occurrence. Remove the line.
+-g
+-d
+-bb
+-:a
+-# The hold space was nonempty. Following occurrences. Do nothing.
+-x
+-:b
+-}
+diff --git a/senddist.c b/senddist.c
+index 3f615f6..cc7786e 100644
+--- a/senddist.c
++++ b/senddist.c
+@@ -153,7 +153,7 @@ int pmacro(int mnum, char who, W_Event * data)
+   if (keys[0] != '\0')
+     {
+       if ((pm = INDEX((char *) keys, who)))
+-	who = macroKeys[((int) pm) - ((int) keys)].dest;
++        who = macroKeys[pm - (char *) keys].dest;
+     }
+ #endif
+ 
+diff --git a/short.c b/short.c
+index b230acb..1557e03 100644
+--- a/short.c
++++ b/short.c
+@@ -7,6 +7,7 @@
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <netdb.h>
++#include <netinet/in.h>
+ 
+ #include "Wlib.h"
+ #include "defs.h"
+@@ -916,7 +917,7 @@ void    handleSMessage(struct mesg_s_spacket *packet)
+   char    addrbuf[9];
+ 
+   if (debug)
+-    printf("Length of Message is: %d  total Size %d \n", strlen(&packet->mesg), (int) packet->length);
++    printf("Length of Message is: %zd  total Size %d \n", strlen(&packet->mesg), (int) packet->length);
+   if (packet->m_from >= MAXPLAYER)
+     packet->m_from = 255;
+ 
+@@ -1734,7 +1735,7 @@ void    handleSWarning(struct warning_s_spacket *packet)
+     case DGHOSTKILL:
+       {
+ 	struct mesg_spacket msg;
+-	ushort  damage;
++	unsigned short damage;
+ 
+ 	damage = (unsigned char) karg3;
+ 	damage |= (unsigned char) (karg4 & 0xff) << 8;
+@@ -1979,7 +1980,7 @@ unsigned char *sbuf;
+   struct phaser_s_spacket *packet = (struct phaser_s_spacket *) &sbuf[0];
+ 
+   /* not nice but.. */
+-  register int pnum, status, target, x, y, dir;
++  register int pnum, status, target = 0, x = 0, y = 0, dir = 0;
+ 
+   status = packet->status & 0x0f;
+   pnum = packet->pnum & 0x3f;
+diff --git a/smessage.c b/smessage.c
+index 27a41fc..eb79f6f 100644
+--- a/smessage.c
++++ b/smessage.c
+@@ -128,7 +128,7 @@ void    smessage(char ichar)
+       if (keys[0] != '\0')
+ 	{
+ 	  if ((pm = INDEX((char *) keys, ichar)))
+-	    ichar = macroKeys[((int) pm) - ((int) keys)].dest;
++	    ichar = macroKeys[pm - (char *) keys].dest;
+ 	}
+ #endif
+ 
+diff --git a/socket.c b/socket.c
+index fff454d..6943636 100644
+--- a/socket.c
++++ b/socket.c
+@@ -782,6 +782,7 @@ tryagain:
+     {
+       perror("unable to get peername");
+       serverName = "nowhere";
++      printf("Connection from server\n");
+     }
+   else
+     {
+@@ -791,14 +792,15 @@ tryagain:
+ 	{
+ 	  serverName = (char *) malloc(strlen(hp->h_name) + 1);
+ 	  strcpy(serverName, hp->h_name);
++	  printf("Connection from server %s (%s)\n", serverName, inet_ntoa(addr.sin_addr));
+ 	}
+       else
+ 	{
+ 	  serverName = (char *) malloc(strlen(inet_ntoa(addr.sin_addr)) + 1);
+ 	  strcpy(serverName, inet_ntoa(addr.sin_addr));
++	  printf("Connection from server %s\n", serverName);
+ 	}
+     }
+-  printf("Connection from server %s (0x%lx)\n", serverName, serveraddr);
+ 
+ }
+ 
+@@ -1258,7 +1260,7 @@ static int doRead(int asock)
+                 "next byte %d (0x%02x)\n", *bufptr, *bufptr);
+ 
+         fprintf(stderr, "protocol buffer dump, bytes %d, [bufptr] at %d :\n",
+-                count, bufptr - buf);
++                count, (int) (bufptr - buf));
+         for (i = 0; i < count; i++) {
+           if (i == (bufptr - buf)) {
+             fprintf(stderr, "[%02x]", (unsigned int) buf[i] & 0xff);
+@@ -2242,11 +2244,10 @@ void    handleFlags(struct flags_spacket *packet)
+     }
+ #endif
+ 
+-  if (players[(unsigned char) packet->pnum].p_flags != ntohl(packet->flags)
++  if (pl->p_flags != ntohl(packet->flags)
+ 
+ #ifdef INCLUDE_VISTRACT
+-      || players[(unsigned char) packet->pnum].p_tractor !=
+-      ((short) packet->tractor & (~0x40))
++      || pl->p_tractor != ((short) packet->tractor & (~0x40))
+ #endif
+ 
+       )
+@@ -2257,16 +2258,16 @@ void    handleFlags(struct flags_spacket *packet)
+   else
+     return;
+ 
+-  players[(unsigned char) packet->pnum].p_flags = ntohl(packet->flags);
++  pl->p_flags = ntohl(packet->flags);
+ 
+ #ifdef INCLUDE_VISTRACT
+   if (packet->tractor & 0x40) {
+-    players[(unsigned char) packet->pnum].p_tractor =
++    pl->p_tractor =
+       (short) packet->tractor & (~0x40); /* ATM visible tractors */
+   } else
+ #endif /* INCLUDE_VISTRACT */
+ 
+-    players[(unsigned char) packet->pnum].p_tractor = -1;
++    pl->p_tractor = -1;
+ }
+ 
+ void    handleKills(struct kills_spacket *packet)
+@@ -2849,7 +2850,7 @@ handleGeneric32_b (struct generic_32_spacket_b *packet)
+ 	  idling = 0;
+         }
+       } else {
+-        if (!context->gameup & GU_UNSAFE) {
++        if (!(context->gameup & GU_UNSAFE)) {
+           if (!idling) {
+ 	    if (rate < 0) {
+ 	      warning("Safe idle start.");
+@@ -3496,7 +3497,7 @@ static int openUdpConn(void)
+ 	    }
+ 	}
+       serveraddr = addr.sin_addr.s_addr;
+-      UDPDIAG(("Found serveraddr == 0x%lx\n", serveraddr));
++      UDPDIAG(("Found serveraddr == %s\n", inet_ntoa(addr.sin_addr)));
+     }
+   return 0;
+ }
+@@ -3510,7 +3511,8 @@ int connUdpConn()
+   addr.sin_family = AF_INET;
+   addr.sin_port = htons(udpServerPort);
+ 
+-  UDPDIAG(("Connecting to host 0x%lx on port %d\n", serveraddr, udpServerPort));
++  UDPDIAG(("Connecting to host %s on port %d\n",
++	   inet_ntoa(addr.sin_addr), udpServerPort));
+   if (connect(udpSock, (struct sockaddr *) &addr, sizeof(addr)) < 0)
+     {
+       perror("netrek: unable to connect UDP socket");
+@@ -3582,8 +3584,7 @@ static int recvUdpConn(void)
+     {
+       /* safe? */
+       serveraddr = from.sin_addr.s_addr;
+-      UDPDIAG(("Warning: from 0x%x, but server is 0x%lx\n",
+-	       from.sin_addr.s_addr, serveraddr));
++      UDPDIAG(("Warning: from different IP\n"));
+     }
+   if (from.sin_family != AF_INET)
+     {
+@@ -3707,8 +3708,8 @@ void    handleSequence(struct sequence_spacket *packet)
+ 	      recent_count += (newseq - sequence) - 1;
+ 	      if (udpWin)
+ 		udprefresh(UDP_DROPPED);
+-	      UDPDIAG(("sequence=%ld, newseq=%ld, we lost some\n",
+-		       sequence, newseq));
++	      UDPDIAG(("sequence=%d, newseq=%d, we lost some\n",
++		       (int) sequence, (int) newseq));
+ 	    }
+ 	  sequence = newseq;
+ 	  /* S_P2 */
+@@ -3722,12 +3723,12 @@ void    handleSequence(struct sequence_spacket *packet)
+ 	  /* reject */
+ 	  if (packet->type == SP_SC_SEQUENCE)
+ 	    {
+-	      V_UDPDIAG(("(ignoring repeat %ld)\n", newseq));
++	      V_UDPDIAG(("(ignoring repeat %d)\n", (int) newseq));
+ 	    }
+ 	  else
+ 	    {
+-	      UDPDIAG(("sequence=%ld, newseq=%ld, ignoring transmission\n",
+-		       sequence, newseq));
++	      UDPDIAG(("sequence=%d, newseq=%d, ignoring transmission\n",
++		       (int) sequence, (int) newseq));
+ 	    }
+ 	  /* the remaining packets will be dropped and we shouldn't count the
+ 	   * * * SP_SEQUENCE packet either */
+diff --git a/sound.c b/sound.c
+index bb765ac..a8c33d2 100644
+--- a/sound.c
++++ b/sound.c
+@@ -888,7 +888,9 @@ static char *DATAFILE(const char* wav) {
+  * Load the .wave files into the sounds array
+  */
+ static int loadSounds(void) {
++#ifdef SOUND_WARN_MISSING
+ 	int i;
++#endif
+ 
+ 	sounds[CLOAK_WAV] = Mix_LoadWAV(DATAFILE("nt_cloaked.wav"));
+ 	sounds[ENTER_SHIP_WAV] = Mix_LoadWAV(DATAFILE("nt_enter_ship.wav"));
+@@ -955,6 +957,7 @@ void Init_Sound(void) {
+ 
+ #if defined(sgi)
+ 	int err;
++#elif defined(HAVE_SDL)
+ #else
+ 	char buf[PATH_MAX];
+ #endif
+@@ -1062,6 +1065,11 @@ void Init_Sound(void) {
+ 
+         Mix_AllocateChannels(16);
+ 
++	if (getdefault("soundvol") != NULL) {
++	  int vol = atoi(getdefault("soundvol"));
++	  Mix_Volume(-1, vol);
++	}
++
+ 	/* If we successfully loaded the wav files, so shut-off
+ 	   sound_init and play the introduction */
+ 	if (loadSounds()) {
+@@ -1242,7 +1250,9 @@ void Engine_Sound(int speed, int maxspeed) {
+ #define SOUND_INIT    MESSAGE_SOUND + 2
+ #define SOUND_DONE    MESSAGE_SOUND + 3
+ 
++#if !defined(HAVE_SDL)
+ static void soundrefresh(int i);
++#endif
+ 
+ int sound_window_height(void) {
+ #if defined(HAVE_SDL)
+diff --git a/string_util.c b/string_util.c
+index 43e81de..57122f6 100644
+--- a/string_util.c
++++ b/string_util.c
+@@ -53,6 +53,14 @@ char   *ftoa(float fval, char *result, int pad, int iprec, int dprec)
+   int     i, ival;
+   float   val = fval;
+ 
++  if (fval < 0) {
++    for (i = 0; i <= iprec + dprec + 1; i++) {
++       result[i] = '?';
++    }
++    result[iprec + dprec + 1] = '\0';
++    return result;
++  }
++
+   if ((iprec + dprec) != 0)
+     result[iprec + dprec + 1] = '\0';
+ 
+diff --git a/string_util.h b/string_util.h
+index 1a1cc39..f9120fc 100644
+--- a/string_util.h
++++ b/string_util.h
+@@ -20,6 +20,7 @@ char *itoapad (int val, char *result, int pad, int prec);
+    (if pad is false).
+    
+    WARNING: val must be <= 100000000 (size < 9).
++   Does not work for negative numbers.
+ */
+ 
+ 
+diff --git a/system.mk.in b/system.mk.in
+index 0dbc9b2..d002b92 100644
+--- a/system.mk.in
++++ b/system.mk.in
+@@ -10,34 +10,24 @@ datarootdir=@datarootdir@
+ 
+ DESTDIR=
+ BINDIR=${prefix}/games
+-DOCDIR=${datarootdir}/doc/${PACKAGE}
+ PIXMAPDIR=${datarootdir}/pixmaps/${PACKAGE}
+ APPDIR=${datarootdir}/applications
+ 
+ SHELL	= /bin/sh
+ CC      = @CC@
+ LN	= @LN_S@
++CWHO = \"`whoami`@`hostname -f`\"
+ 
+ PROTOIZE   = protoize
+ UNPROTOIZE = unprotoize
+ INDENT     = indent -i2 -bap -bacc -bad -nbc -bl -nip -di8\
+ 		-npsl -nce -cli0.5 -ci4 -npcs -fca -ncdb -sc -cd50 -c50
+ TOUCH	   = touch
+-RM	   = rm -f 
+-
+-RSA_FLAGS       = @NORSA@ -DRSA
+-RSASRC          = @NORSA@ rsa_box.c rsa_box_0.c rsa_box_1.c rsa_box_2.c \
+-		rsa_box_3.c rsa_box_4.c rsa_box_5.c rsa_box_6.c \
+-		rsa_box_7.c rsa_box_8.c rsa_box_9.c rsa_box_10.c
+-RSAOBJ          = @NORSA@ rsa_box.o rsa_box_0.o rsa_box_1.o rsa_box_2.o \
+-                rsa_box_3.o rsa_box_4.o rsa_box_5.o rsa_box_6.o \
+-		rsa_box_7.o rsa_box_8.o rsa_box_9.o rsa_box_10.o
+-MPINC           = @MPINC@
+-LMP             = @MPLIB@
++RM	   = rm -f
+ 
+ # Other libraries neeeded. (All systems need -lX11 -lm)
+ 
+-LIBS            = @LIBS@ 
++LIBS            = @LIBS@
+ INCS		= @INCS@
+ 
+ # Flags for optimizing
+@@ -48,7 +38,7 @@ OPT             = -g -Wall
+ # Flags for shared libraries
+ 
+ SL_CFLAGS	= -fPIC
+-SL_LDFLAGS	= -shared $(LIBRARIES) -lc 
++SL_LDFLAGS	= -shared $(LIBRARIES) -lc
+ SL_LIB          = libcow.so.`./name 1`
+ SL_LIBFLAGS	= -Wl,-soname,$(SL_LIB)
+ 
+@@ -65,38 +55,34 @@ RANDOMOBJ       = @LIBOBJS@
+ #  No editables below this point.
+ ###############################################################################
+ 
+-
+-include $(KEYDEF)
+-
+-
+-ROBJ 		= check.o colors.o data.o death.o defaults.o dmessage.o\
+-                  enter.o findslot.o getname.o getship.o helpwin.o inform.o\
+-                  interface.o newwin.o option.o planetlist.o macrowin.o\
+-	          map.o playerlist.o ranklist.o reserved.o sintab.o\
+-	          smessage.o socket.o playback.o stats.o util.o war.o warning.o\
+-	          udpopt.o ping.o pingstats.o rotate.o lagmeter.o parsemeta.o\
+-	          netstat.o netstatopt.o spopt.o dashboard.o dashboard3.o \
+-	          short.o distress.o senddist.o defwin.o tools.o sound.o\
+-		  docwin.o cflags.o beeplite.o feature.o\
+-		  string_util.o local.o censor.o cowmain.o camera.o myf.o
+-
+-RSRC 		= check.c colors.c data.c death.c defaults.c dmessage.c\
+-	          enter.c findslot.c getname.c getship.c helpwin.c inform.c\
+-	          input.c interface.c newwin.c option.c planetlist.c\
+-                  macrowin.c map.c playerlist.c ranklist.c redraw.c\
+-                  smessage.c parsemeta.c socket.c playback.c stats.c util.c war.c\
+-                  warning.c udpopt.c sintab.c ping.c pingstats.c rotate.c\
+-                  lagmeter.c netstat.c netstatopt.c spopt.c dashboard.c dashboard3.c \
+-		  short.c distress.c senddist.c defwin.c tools.c sound.c\
+-		  docwin.c cflags.c beeplite.c feature.c reserved.c\
+-		  string_util.c local.c censor.c cowmain.c camera.c myf.c
+-
+-
+-INCLUDES 	= struct.h packets.h defs.h copyright.h bitmaps.h data.h\
+-	          oldbitmaps.h tngbitmaps.h hullbitmaps.h rabbitbitmaps.h\
+-		  sound.h audio.h litebitmaps.h 
+-
+-INPUTOBJ 	= input.o redraw.o 
++ROBJ 		= check.o colors.o data.o death.o defaults.o dmessage.o \
++                  enter.o findslot.o getname.o getship.o helpwin.o inform.o \
++                  interface.o newwin.o option.o planetlist.o macrowin.o \
++	          map.o playerlist.o ranklist.o reserved.o sintab.o \
++	          smessage.o socket.o playback.o stats.o util.o war.o \
++	          warning.o udpopt.o ping.o pingstats.o rotate.o lagmeter.o \
++                  parsemeta.o netstat.o netstatopt.o spopt.o dashboard.o \
++                  dashboard3.o short.o distress.o senddist.o defwin.o tools.o \
++                  sound.o docwin.o cflags.o beeplite.o feature.o string_util.o \
++                  local.o censor.o cowmain.o camera.o myf.o
++
++RSRC 		= check.c colors.c data.c death.c defaults.c dmessage.c \
++                  enter.c findslot.c getname.c getship.c helpwin.c inform.c \
++	          input.c interface.c newwin.c option.c planetlist.c \
++                  macrowin.c map.c playerlist.c ranklist.c redraw.c \
++                  smessage.c parsemeta.c socket.c playback.c stats.c util.c \
++                  war.c warning.c udpopt.c sintab.c ping.c pingstats.c \
++                  rotate.c lagmeter.c netstat.c netstatopt.c spopt.c \
++                  dashboard.c dashboard3.c short.c distress.c senddist.c \
++                  defwin.c tools.c sound.c docwin.c cflags.c beeplite.c \
++                  feature.c reserved.c string_util.c local.c censor.c \
++                  cowmain.c camera.c myf.c
++
++INCLUDES 	= struct.h packets.h defs.h copyright.h bitmaps.h data.h \
++	          oldbitmaps.h tngbitmaps.h hullbitmaps.h rabbitbitmaps.h \
++		  sound.h audio.h litebitmaps.h
++
++INPUTOBJ 	= input.o redraw.o
+ MAINOBJ 	= main.o
+ MAINSRC 	= main.c
+ 
+@@ -106,55 +92,34 @@ X11SRC		= @NOX11@ x11window.c x11sprite.c audio.c
+ WIN32OBJ	= @NOWIN32@ gnu_win32.o winsprite.o winsndlib.o
+ WIN32SRC	= @NOWIN32@ gnu_win32.c winsprite.c winsndlib.c
+ 
+-SDL_CFLAGS 	= @SDL_CFLAGS@
+ SDL_CONFIG 	= @SDL_CONFIG@
++SDL_CFLAGS 	= @SDL_CFLAGS@
+ SDL_LIBS 	= @SDL_LIBS@
+ SDL_MIXER_LIBS	= @SDL_MIXER_LIBS@
+ 
+ # full screen support
+ XXF86VM_LIBS    = -lXxf86vm
+-# camera snapshot support
+-IMLIB2_LIBS     = $(shell imlib2-config --libs)
+ 
+ SHARED 	= $(SL_CFLAGS)
+-INCDIRS = $(MPINC) $(INCS)
++INCDIRS = $(INCS)
+ CFLAGS ?= $(OPT)
+-CFLAGS += $(EXTRACFLAGS) $(RSA_FLAGS) $(INCDIRS)
++CFLAGS += $(INCDIRS)
+ LDFLAGS ?= -g
+-LDFLAGS += $(EXTRALINKFLAGS)
+-LIBRARIES = $(LMP) $(LIBS) $(EXTRALIBS) $(SDL_LIBS) $(SDL_MIXER_LIBS) $(XXF86VM_LIBS) $(IMLIB2_LIBS)
++LIBRARIES = $(LIBS) $(EXTRALIBS) $(SDL_LIBS) $(SDL_MIXER_LIBS) $(XXF86VM_LIBS)
+ 
+-netrek-client-cow: $(RSAOBJ) $(PMAKE) null $(ROBJ) $(MAINOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ)  $(RANDOMOBJ) cflags.c
+-	$(CC) $(LDFLAGS) -o netrek-client-cow $(ROBJ) $(RSAOBJ) $(INPUTOBJ) \
+-	$(MAINOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(LIBRARIES)
++netrek-client-cow: $(PMAKE) null $(ROBJ) $(MAINOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) cflags.c
++	$(CC) $(LDFLAGS) -o netrek-client-cow $(ROBJ) $(INPUTOBJ) $(MAINOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(LIBRARIES)
+ 
+ netrek.shared: done.libcow $(MAINOBJ) $(COWAPI)
+ 	$(CC) $(LDFLAGS) $(MAINOBJ) -L. -lcow $(LIBS) -o netrek.shared
+ 
+-done.libcow: $(PMAKE) $(ROBJ) $(RSAOBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) 
+-	$(CC) $(ROBJ) $(RSAOBJ) $(INPUTOBJ) \
++done.libcow: $(PMAKE) $(ROBJ) $(INPUTOBJ) $(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ)
++	$(CC) $(ROBJ) $(INPUTOBJ) \
+ 	$(X11OBJ) $(WIN32OBJ) $(RANDOMOBJ) $(SL_LDFLAGS) $(SL_LIBFLAGS) -o $(COWLIB)
+ 	$(RM) $(SL_LIB)
+ 	$(LN) $(COWLIB) $(SL_LIB)
+ 	$(TOUCH) done.libcow
+ 
+-#rsa_box.c: mkkey $(SECKEYFILE)
+-$(RSASRC): mkkey $(SECKEYFILE)
+-	-$(RM) $(RSASRC)
+-	./mkkey -c -k $(SECKEYFILE)
+-	$(TOUCH) $(RSASRC)
+-	@echo "int sock = -1;" >>rsa_box_1.c
+-
+-$(SECKEYFILE):
+-	@echo generating a new client key
+-	$(MAKE) newkey
+-
+-mkkey: mkkey.c $(RANDOMOBJ) defs.h
+-	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) $(MPINC) $(MPLIB) -o mkkey mkkey.c $(RANDOMOBJ) $(LIBRARIES)
+-
+-randomize: randomize.c $(RANDOMOBJ) defs.h
+-	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o randomize randomize.c $(RANDOMOBJ) $(LIBRARIES)
+-
+ sound.o: sound.c
+ 	$(CC) $(CPPFLAGS) $(CFLAGS) $(SDL_CFLAGS) -c sound.c
+ 
+@@ -171,20 +136,20 @@ cflags.c: mkcflags
+ mkcflags: mkcflags.c system.mk null patchlevel.h version.h
+ 	$(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o mkcflags mkcflags.c $(LIBRARIES)
+ 
+-tags: $(RSRC) $(RSASRC)
+-	ctags $(RSRC) $(RSASRC) $(INCLUDES)
++tags: $(RSRC)
++	ctags $(RSRC) $(INCLUDES)
+ 
+-depend: cflags.c null $(RSASRC)
+-	-makedepend -f system.mk $(RSA_FLAGS) $(RSRC) $(RSASRC) $(MAINSRC) \
++depend: cflags.c null
++	-makedepend -f system.mk $(RSRC) $(MAINSRC) \
+ 	$(X11SRC) name.c $(INCDIRS)
+ 
+-proto: cflags.c null $(RSASRC)
++proto: cflags.c null
+ 	$(PROTOIZE) $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC)
+ 
+-unproto: cflags.c null $(RSASRC)
++unproto: cflags.c null
+ 	$(UNPROTOIZE) $(RSRC) $(MAINSRC) $(X11SRC) $(WIN32SRC)
+ 
+-indent: cflags.c null $(RSASRC)
++indent: cflags.c null
+ 	$(INDENT) $(RSRC) $(MAINSRC) $(INCLUDES) $(X11SRC) $(WIN32SRC)
+ 
+ to_unix: $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC)
+@@ -200,12 +165,10 @@ to_dos: $(RSRC) $(INCLUDES) $(MAINSRC) $(X11SRC) $(WIN32SRC)
+ install: netrek-client-cow
+ 	mkdir -p $(DESTDIR)$(BINDIR)
+ 	install netrek-client-cow $(DESTDIR)$(BINDIR)
+-	mkdir -p $(DESTDIR)$(DOCDIR)
+-	cp $(KEYFILE) $(DESTDIR)$(DOCDIR)
+ 	mkdir -p $(DESTDIR)$(PIXMAPDIR)
+ 	cp -pr pixmaps/* $(DESTDIR)$(PIXMAPDIR)/
+ 	mkdir -p $(DESTDIR)$(APPDIR)
+-	install netrek-client-cow.desktop $(DESTDIR)$(APPDIR)/
++	cp netrek-client-cow.desktop $(DESTDIR)$(APPDIR)/
+ 
+ null:
+ 	@echo "/* This file is intentionally empty */" >null
+diff --git a/x11sprite.c b/x11sprite.c
+index 3bd8746..4a4ce40 100644
+--- a/x11sprite.c
++++ b/x11sprite.c
+@@ -645,7 +645,7 @@ void   *S_Torp(int torpno)
+   else
+     {
+       sprite = &torpImg[remap[players[this->t_owner].p_team]][0];
+-      sprite->view = ++sprite->view % sprite->nviews;
++      sprite->view = (sprite->view + 1) % sprite->nviews;
+       // FIXME: torps rotate faster with higher client update rates
+     }
+ 
+@@ -684,7 +684,7 @@ void   *S_Plasma(int plasmatorpno)
+   else
+     {
+       sprite = &plasmaImg[remap[players[this->pt_owner].p_team]][0];
+-      sprite->view = ++sprite->view % sprite->nviews;
++      sprite->view = (sprite->view + 1) % sprite->nviews;
+     }
+ 
+   if ((sprite->image == NoPixmapError) || (pixFlags & NO_WEP_PIX))
+diff --git a/x11window.c b/x11window.c
+index 04814b7..bfe7a82 100644
+--- a/x11window.c
++++ b/x11window.c
+@@ -3667,11 +3667,7 @@ int video_mode_dotclock, video_mode_list_size;
+ static void video_mode_off()
+ {
+   if (video_mode_current != video_mode_original) {
+-    int x;
+-    x = XF86VidModeSwitchToMode(W_Display, W_Screen, video_mode_original);
+-#if DEBUG > 0
+-    fprintf(stderr, "video_mode_off: XF86VidModeSwitchToMode: %d\n", x);
+-#endif
++    XF86VidModeSwitchToMode(W_Display, W_Screen, video_mode_original);
+     video_mode_current = video_mode_original;
+   }
+ }
+@@ -3727,13 +3723,9 @@ static void video_mode_on()
+   /* if there is a mode line for 1024x768 then use it */
+   for (line=0; line < video_mode_list_size; line++) {
+     XF86VidModeModeInfo *mode = video_mode_list[line];
+-    if (mode->hdisplay == (small_screen ? 800 : 1024) && 
++    if (mode->hdisplay == (small_screen ? 800 : 1024) &&
+ 	mode->vdisplay == (small_screen ? 600 : 768)) {
+-      int x;
+-      x = XF86VidModeSwitchToMode(W_Display, W_Screen, mode);
+-#if DEBUG > 0
+-      fprintf(stderr, "video_mode_on: XF86VidModeSwitchToMode: %d\n", x);
+-#endif
++      XF86VidModeSwitchToMode(W_Display, W_Screen, mode);
+       /*! @bug: if this is done on a non-local display, the X error
+       XF86VidModeClientNotLocal occurs. */
+       video_mode_current = mode;
diff --git a/srcpkgs/netrek-client-cow/template b/srcpkgs/netrek-client-cow/template
new file mode 100644
index 00000000000..fdc62088520
--- /dev/null
+++ b/srcpkgs/netrek-client-cow/template
@@ -0,0 +1,24 @@
+# Template file for 'netrek-client-cow'
+pkgname=netrek-client-cow
+version=3.3.1
+revision=1
+build_style=gnu-configure
+makedepends="libX11-devel imlib2-devel libXxf86vm-devel gmp-devel
+ SDL_mixer-devel SDL-devel libXpm-devel"
+short_desc="Netrek Client (C and X11)"
+maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
+license="MIT, custom"
+homepage="https://www.netrek.org/"
+distfiles="http://quozl.netrek.org/netrek/netrek-client-cow-${version}.tar.gz"
+checksum=a9e969bc5aa2a884481f81e8997e725ca18eedba01c018d7e7d383e85f183ae2
+patch_args="-Np1"
+
+post_install() {
+	vlicense COPYING
+	vlicense copyright.h
+	vlicense copyright2.h
+}
+
+# REMARKS:
+# Source tracked at https://github.com/quozl/netrek-client-cow
+# Custom is a sort of public domain declaration

  reply	other threads:[~2020-05-11 23:32 UTC|newest]

Thread overview: 7+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-05-11 23:26 [PR PATCH] " Vaelatern
2020-05-11 23:32 ` Vaelatern [this message]
2020-05-17  3:37 ` [PR PATCH] [Updated] " Vaelatern
2020-05-17  3:38 ` Vaelatern
2020-05-21 21:43 ` Vaelatern
2020-05-22  3:13 ` Vaelatern
2020-05-22  3:13 ` Vaelatern

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200511233223.t1gNEGh8PVgUKJNkzjy2mYQIRc9ROK_Lg05s6FlV4qk@z \
    --to=vaelatern@users.noreply.github.com \
    --cc=ml@inbox.vuxu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).