G'day Ameer,

Nice to hear from you.

You aim high.  It would be an interesting challenge.  As Mark points
out, some styles of play would not be possible, but we have players who
appear to be blind already, *chuckle*.

You are correct, there is no definitive protocol reference.  We continue
to change minor parts of the protocol, in an upward compatible fashion,
and choose not to maintain both the protocol implementation and a
protocol definition.

You can find a definition of the protocol packets in the file packets.h
in the include directory of the server C language source.  At the start
of the file at about line 22 is a general outline of the protocol.  Here
is a download link to the file:

http://james.tooraweenah.com/darcs/netrek-server/Vanilla/include/packets.h

The best client to begin modifying would be either Netrek XP 2009 or my
Python client, I shall cover both:


1.  Netrek XP 2009, is a non-standard GUI that is intended for Microsoft
Windows, consisting of C source code that has been maintained by various
authors since 1986, a total of 66289 lines of code, in 112 source files,
here is a download link, fourteen megabytes of ZIP file:

http://netrek.org/files/NetrekXP_2009/netrekXP2009src-v1.0.zip

Netrek XP 2009 source is also available from CVS on Sourceforge.

The Netrek XP 2009 client might be the best one to start with if you
wish to adapt it to use a Windows standard GUI, since it already builds
on Microsoft Windows.  It would be a huge job though.


2.  my Python client, is a non-standard GUI that is intended for Linux,
Mac OS X, or Microsoft Windows, consisting of Python source code that
has been written mostly by me in the past year, a total of 4965 lines of
code, in 13 source files, here is a link to a darcs repository:

http://james.tooraweenah.com/darcs/netrek-client-pygame

The Python client is probably the best one to start with to understand
the protocol and communication with the server, so as to start a new
client for sound and screen reader technologies.  Ripping out the pygame
graphics isn't difficult, it has been done to make protocol unit tests.

If you have any questions, please ask by posting to the mailing list.

--

Unrelated comment follows.

I'm aware of some of the accessibility technologies available, as I was
at a talk by Jason White at this year's Linux Conference in Melbourne,
Australia.  Some links follow.

Abstract of talk:
http://www.linux.org.au/2008/programme/detail%3FTalkID=42.html

Slides in PDF or HTML:
http://mirror.linux.org.au/pub/linux.conf.au/2008/slides/042-jason-by_sight_and_touch.tar.gz

Recording in ogg format:
http://mirror.linux.org.au/pub/linux.conf.au/2008/Thu/mel8-042.ogg

Recording in speex format:
http://mirror.linux.org.au/pub/linux.conf.au/2008/Thu/mel8-042.spx

-- 
James Cameron    mailto:quozl at us.netrek.org     http://quozl.netrek.org/