1
0
mirror of https://git.zap.org.au/git/trader.git synced 2024-06-09 19:20:43 +00:00

Convert all text files to reStructuredText (ReST) format

The reStructuredText (ReST) format is still quite readable as raw text,
and is much more capable than the myriad all-slightly-incompatible
variants of Markdown.
This commit is contained in:
John Zaitseff 2019-04-12 05:04:24 +10:00
parent 34eadca382
commit 9414aa7ad6
11 changed files with 1105 additions and 1012 deletions

1070
COPYING

File diff suppressed because it is too large Load Diff

458
INSTALL
View File

@ -1,160 +1,161 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
Star Traders is written in the C99 programming language and uses Autoconf
and Automake to handle compilation and installation. Assuming you have
the needed tools, all you should need to do is run the following commands
from the source directory:
============================================
Star Traders: A Game of Interstellar Trading
============================================
Star Traders is written in the C99 programming language and uses Autoconf
and Automake to handle compilation and installation. Assuming you have
the needed tools, all you should need to do is run the following commands
from the source directory::
./configure
make
make install
The first two commands may be run as an ordinary user; the last may need
The first two commands may be run as an ordinary user; the last may need
to be done as the system administrator (root).
.. contents::
Prerequisites
=============
Star Traders requires the following components for successful compilation
Star Traders requires the following components for successful compilation
and installation:
1. A working C compiler conforming to ISO/IEC 9899:1999 (also known as
C99). Any recent version of the GNU Compiler Collection (GCC) or the
1. A working C compiler conforming to ISO/IEC 9899:1999 (also known as
C99). Any recent version of the GNU Compiler Collection (GCC) or the
Clang LLVM Compiler is more than adequate.
2. An operating system ideally conforming to ISO/IEC 9945-1:2008 (POSIX)
or to the Open Group Single UNIX Specification version 4 or later. In
short, any modern Unix or Unix-like system like Linux almost certainly
qualifies.
2. An operating system ideally conforming to ISO/IEC 9945-1:2008 (POSIX)
or to the Open Group Single UNIX Specification version 4 or later.
In short, any modern Unix or Unix-like system like Linux almost
certainly qualifies.
In actual fact, Star Traders uses the GNU Portability Library, so many
older systems may also work without modification.
In actual fact, Star Traders uses the GNU Portability Library, so
many older systems may also work without modification.
3. A working X/Open Curses-compatible library, such as Ncurses. Ncurses
is preferred over system-native libraries, if present. Locales with
multibyte character sequences (such as UTF-8) require a wide-character
version of Curses, such as NcursesW, to work correctly.
3. A working X/Open Curses-compatible library, such as Ncurses. Ncurses
is preferred over system-native libraries, if present. Locales with
multibyte character sequences (such as UTF-8) require a
wide-character version of Curses, such as NcursesW, to work
correctly.
4. The GNU Gettext library, version 0.19.8 or later, to allow the game to
use languages other than English; this is also called Native Language
Support. If you do not have this library (and do not wish to install
it), you may pass "--disable-nls" to the configure script.
4. The GNU Gettext library, version 0.19.8 or later, to allow the game
to use languages other than English; this is also called Native
Language Support. If you do not have this library (and do not wish
to install it), you may pass ``--disable-nls`` to the configure
script.
5. The GNU libiconv library for supporting multiple character encodings,
if required by the GNU Gettext library. This is not needed on systems
with the GNU C Library (glibc) version 2.2 or later, or on Mac OS X
(now called macOS) 10.3 or newer.
5. The GNU ``libiconv`` library for supporting multiple character
encodings, if required by the GNU Gettext library. This is not
needed on systems with the GNU C Library (``glibc``) version 2.2 or
later, or on Mac OS X (now called macOS) 10.3 or newer.
6. Development libraries and header files for all of the above. On many
systems, these files are part of XXX-dev or XXX-devel packages.
6. Development libraries and header files for all of the above. On many
systems, these files are part of ``XXX-dev`` or ``XXX-devel``
packages.
7. The GNU Perfect Hash Function Generator, gperf. This utility program
may be required for parts of the GNU Portability Library.
7. The GNU Perfect Hash Function Generator, ``gperf``. This utility
program may be required for parts of the GNU Portability Library.
Installation
============
The installation of Star Traders can be broken down into three main steps:
configuration, compilation and the installation proper.
The installation of Star Traders can be broken down into three main
steps: configuration, compilation and the installation proper.
The first step is configuring the package for your compiler and operating
system environment. As Star Traders uses Autoconf and Automake, all you
need to do in most cases is run "./configure" from the top-level directory
of the Star Traders source tree. The configure script understands all of
the usual Autoconf options; these are explained in detail in the Autoconf
manual:
The first step is configuring the package for your compiler and operating
system environment. As Star Traders uses Autoconf and Automake, all you
need to do in most cases is run ``./configure`` from the top-level
directory of the Star Traders source tree. The configure script
understands all of the usual Autoconf options; these are explained in
detail in the `Autoconf manual`__.
https://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
__ https://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
This version of the configure script understands the following additional
This version of the configure script understands the following additional
command line options:
--disable-nls
Don't use Native Language Support. Star Traders will only
show untranslated US English text and only accept US ASCII
keyboard input.
Dont use Native Language Support. Star Traders will only
show untranslated US English text and only accept US ASCII
keyboard input.
--with-libintl-prefix=DIR
Find the GNU Gettext library installed in the DIR/lib and
DIR/include directories. This option is needed if your
library is not installed in /usr/lib and /usr/include (or,
more precisely, if the C compiler cannot find the library
".so" or ".a" archive file using the standard "-l" command
line parameter or the relevant header files using standard
"#include" directives).
Find the GNU Gettext library installed in the *DIR*\ `/lib`
and *DIR*\ `/include` directories. This option is needed if
your library is not installed in `/usr/lib` and
`/usr/include` (or, more precisely, if the C compiler cannot
find the library “``.so``” or “``.a``” archive file using the
standard “``-l``” command line parameter or the relevant
header files using standard :code:`#include` directives).
--with-libiconv-prefix=DIR
Find the GNU libiconv library installed in the DIR/lib and
DIR/include directories. This option is needed if the GNU
Gettext library requires libiconv on your system, and that
library is not installed in /usr/lib and /usr/include.
Find the GNU ``libiconv`` library installed in the *DIR*\
`/lib` and *DIR*\ `/include` directories. This option is
needed if the GNU Gettext library requires ``libiconv`` on
your system, and that library is not installed in `/usr/lib`
and `/usr/include`.
--with-ncurses
Force the use of Ncurses over the system's Curses library.
In other words, do not search for a native Curses library
at all.
Force the use of Ncurses over the systems Curses library.
In other words, do not search for a native Curses library at
all.
--with-ncursesw
Force the use of the NcursesW library with wide-character
support. If NcursesW cannot be found, abort the configure
script.
Force the use of the NcursesW library with wide-character
support. If NcursesW cannot be found, abort the
``configure`` script.
--without-ncursesw
Don't use the NcursesW library. This will prevent non-8-
bit character encodings like UTF-8 from working correctly
and is thus not recommended.
Dont use the NcursesW library. This will prevent non-8-bit
character encodings like UTF-8 from working correctly and is
thus not recommended.
--without-ncurses
Don't use the Ncurses library: use either NcursesW (unless
"--without-ncursesw" is also specified) or the system's
normal Curses library. This option is not recommended.
Dont use the Ncurses library: use either NcursesW (unless
``--without-ncursesw`` is also specified) or the systems
normal Curses library. This option is not recommended.
--disable-assert
Turn off all debugging assert() statements.
Turn off all debugging :code:`assert()` statements.
By default, configure uses "/usr/local" as the top-level (prefix) install
directory. You can change this by specifying "--prefix=DIR" to use DIR
instead. For example, you can use a directory in your own home directory
by specifying something like:
By default, ``configure`` uses `/usr/local` as the top-level (prefix)
install directory. You can change this by specifying ``--prefix=``\
*DIR* to use *DIR* instead. For example, you can use a directory in your
own home directory by specifying something like::
./configure --prefix=$HOME/opt/trader
You may also specify certain configuration and/or compilation variables on
the command line to override choices made by configure. For example, you
can specify the compiler flags to use by passing the CFLAGS variable:
You may also specify certain configuration and/or compilation variables
on the command line to override choices made by ``configure``. For
example, you can specify the compiler flags to use by passing the
``CFLAGS`` variable::
./configure CFLAGS="-g -O2 -Wall"
The configure script has many other options. You may obtain a list of
these by running:
The ``configure`` script has many other options. You may obtain a list
of these by running::
./configure --help
You can also run configure in a separate build-only directory tree. This
feature requires GNU Make and allows you to keep the source code tree from
being modified by the compilation process. To use this option, create a
separate build directory, then run configure. For example, if you placed
the Star Traders source code tree in $HOME/src/trader-7.13, you could run
something like:
You can also run ``configure`` in a separate build-only directory tree.
This feature requires GNU Make and allows you to keep the source code
tree from being modified by the compilation process. To use this option,
create a separate `build` directory, then run ``configure``. For
example, if you placed the Star Traders source code tree in
`$HOME/src/trader-7.13`, you could run something like::
mkdir $HOME/build/trader-build-7.13
cd $HOME/build/trader-build-7.13
$HOME/src/trader-7.13/configure
Once again, the Autoconf manual describes these options (and many others):
Once again, the `Autoconf manual`__ describes these options (and many
others).
https://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
__ https://www.gnu.org/software/autoconf/manual/autoconf.html#Running-configure-Scripts
Once the package has been configured, you can type "make" to compile it,
then "make install" to install it. You can specify the following command
lines, amongst others:
Once the package has been configured, you can type ``make`` to compile
it, then ``make install`` to install it. You can specify the following
command lines, amongst others::
make all
make install
@ -162,84 +163,88 @@ lines, amongst others:
make distclean
make uninstall
The command "make all" does the same thing as running "make" by itself:
compile the package source code into an executable.
The command ``make all`` does the same thing as running ``make`` by
itself: compile the package source code into an executable.
Running "make install" copies the executable program and all associated
data and documentation files to those directories specified during
configuration. If any of these directories require system administrator
access privileges for writing, you will need to run "make install" as
Running ``make install`` copies the executable program and all associated
data and documentation files to those directories specified during
configuration. If any of these directories require system administrator
access privileges for writing, you will need to run ``make install`` as
system administrator (root).
If you like, you can specify the DESTDIR variable to copy all installation
files to a temporary location before installing them later. For example,
if the prefix directory is "/usr/local", typing:
.. compound::
make install DESTDIR=/tmp/trader-install
If you like, you can specify the ``DESTDIR`` variable to copy all
installation files to a temporary location before installing them
later. For example, if the prefix directory is `/usr/local`, typing::
will copy the final program "trader" to /tmp/trader-install/usr/local/bin,
the manual page to /tmp/trader-install/usr/local/share/man/man6 and so on.
make install DESTDIR=/tmp/trader-install
The "make clean" command will remove most build-generated files, such as
object files generated by the compiler, from the source code or build
directory. Running "make distclean" will do the same, but will remove the
Makefiles generated by configure as well. In other words, if you run
"make distclean", you will need to rerun "configure" if you would like to
recompile Star Traders at a later date.
will copy the final program ``trader`` to
`/tmp/trader-install/usr/local/bin`, the manual page to
`/tmp/trader-install/usr/local/share/man/man6` and so on.
Finally, "make uninstall" will remove the executable program "trader" and
associated data and documentation files from their final installation
location. This assumes, of course, that you have NOT run "make distclean"
to remove the Makefiles that know the path to which those files were
installed!
The ``make clean`` command will remove most build-generated files, such
as object files generated by the compiler, from the source code or build
directory. Running ``make distclean`` will do the same, but will remove
the Makefiles generated by ``configure`` as well. In other words, if you
run ``make distclean``, you will need to rerun ``configure`` if you would
like to recompile Star Traders at a later date.
Finally, ``make uninstall`` will remove the executable program ``trader``
and associated data and documentation files from their final installation
location. This assumes, of course, that you have *not* run ``make
distclean`` to remove the Makefiles that know the path to which those
files were installed!
Tested Systems
==============
The following operating systems and compilers have been successfully test-
ed with this version of Star Traders:
The following operating systems and compilers have been successfully
tested with this version of Star Traders:
+-------------------------+--------+-------+-------------------------+---+
| Linux distribution | Arch | Glibc | Compiler | N |
+-------------------------+--------+-------+-------------------------+---+
| Debian GNU/Linux Sid | x86_64 | 2.27 | GNU C Compiler 8.2.0 | |
| Debian GNU/Linux Sid | i686 | 2.27 | GNU C Compiler 8.2.0 | |
| Debian GNU/Linux 9.5 | x86_64 | 2.24 | GNU C Compiler 6.3.0 | |
| Ubuntu 18.04 | x86_64 | 2.27 | GNU C Compiler 7.3.0 | |
| Ubuntu 18.04 | x86_64 | 2.27 | Clang (LLVM) 6.0.0 | |
| Ubuntu 18.04 | x86_64 | 2.27 | Portland PGI C/C++ 18.5 | |
| Fedora 28 | x86_64 | 2.27 | GNU C Compiler 8.1.1 | |
| CentOS 7.5 | x86_64 | 2.17 | GNU C Compiler 4.8.5 | |
| CentOS 6.10 | x86_64 | 2.12 | GNU C Compiler 4.4.7 | |
| CentOS 6.10 | x86_64 | 2.12 | Portland PGI C/C++ 18.3 | |
| CentOS 6.9 | x86_64 | 2.12 | Intel C/C++ 18.0.3 | |
| OpenSUSE Leap 15.0 | x86_64 | 2.26 | GNU C Compiler 7.3.1 | |
+-------------------------+--------+-------+-------------------------+---+
==================== ====== ===== ======================= =====
Linux distribution Arch Glibc Compiler Notes
==================== ====== ===== ======================= =====
Debian GNU/Linux Sid x86_64 2.27 GNU C Compiler 8.2.0
Debian GNU/Linux Sid i686 2.27 GNU C Compiler 8.2.0
Debian GNU/Linux 9.5 x86_64 2.24 GNU C Compiler 6.3.0
Ubuntu 18.04 x86_64 2.27 GNU C Compiler 7.3.0
Ubuntu 18.04 x86_64 2.27 Clang (LLVM) 6.0.0
Ubuntu 18.04 x86_64 2.27 Portland PGI C/C++ 18.5
Fedora 28 x86_64 2.27 GNU C Compiler 8.1.1
CentOS 7.5 x86_64 2.17 GNU C Compiler 4.8.5
CentOS 6.10 x86_64 2.12 GNU C Compiler 4.4.7
CentOS 6.10 x86_64 2.12 Portland PGI C/C++ 18.3
CentOS 6.9 x86_64 2.12 Intel C/C++ 18.0.3
OpenSUSE Leap 15.0 x86_64 2.26 GNU C Compiler 7.3.1
==================== ====== ===== ======================= =====
+-------------------------+--------+---------------------------------+---+
| Operating system | Arch | Compiler | N |
+-------------------------+--------+---------------------------------+---+
| FreeBSD 11.2 | x86_64 | Clang (LLVM) 6.0.0 | 1 |
| NetBSD 8.0 | x86_64 | GNU C Compiler 5.5.0 | 2 |
| macOS 10.13 | x86_64 | Apple Clang (LLVM) 9.1.0 | 3 |
| Solaris 11.3 (x86_64) | i386 | GNU C Compiler 4.8.2 | |
| Solaris 11.3 (x86_64) | x86_64 | GNU C Compiler 4.8.2 | 4 |
| Solaris 11.3 (x86_64) | i386 | Oracle Developer Studio 12.6 | 5 |
| Solaris 11.3 (x86_64) | x86_64 | Oracle Developer Studio 12.6 | 6 |
| Cygwin 2.10.0 (Win7SP1) | i686 | GNU C Compiler 7.3.0 | |
+-------------------------+--------+---------------------------------+---+
======================= ====== ============================ ============
Operating system Arch Compiler Notes
======================= ====== ============================ ============
FreeBSD 11.2 x86_64 Clang (LLVM) 6.0.0 [#freebsd1]_
NetBSD 8.0 x86_64 GNU C Compiler 5.5.0 [#netbsd1]_
macOS 10.13 x86_64 Apple Clang (LLVM) 9.1.0 [#macos1]_
Solaris 11.3 (x86_64) i386 GNU C Compiler 4.8.2
Solaris 11.3 (x86_64) x86_64 GNU C Compiler 4.8.2 [#solaris1]_
Solaris 11.3 (x86_64) i386 Oracle Developer Studio 12.6 [#solaris2]_
Solaris 11.3 (x86_64) x86_64 Oracle Developer Studio 12.6 [#solaris3]_
Cygwin 2.10.0 (Win7SP1) i686 GNU C Compiler 7.3.0
======================= ====== ============================ ============
Notes:
1. FreeBSD with the gettext, gettext-runtime, gettext-tools and libiconv
binary packages installed with "pkg", using:
.. [#freebsd1] FreeBSD with the ``gettext``, ``gettext-runtime``,
``gettext-tools`` and ``libiconv`` binary packages installed with
``pkg``\(1), using::
./configure --with-libiconv-prefix=/usr/local \
--with-libintl-prefix=/usr/local
2. NetBSD with the gettext, libiconv and ncursesw packages installed with
"pkg_add", using:
.. [#netbsd1] NetBSD with the ``gettext``, ``libiconv`` and ``ncursesw``
packages installed with ``pkg_add``\(1), using::
./configure --with-libiconv-prefix=/usr/pkg \
--with-libintl-prefix=/usr/pkg \
@ -247,121 +252,130 @@ Notes:
CURSES_CFLAGS=-I/usr/pkg/include \
LDFLAGS=-L/usr/pkg/lib
3. macOS with the gettext package installed with Homebrew, using:
.. [#macos1] macOS with the ``gettext`` package installed with Homebrew,
using::
./configure --with-libintl-prefix=/usr/local/opt/gettext
4. Using "./configure CC='gcc -m64'" for 64-bit user-space.
5. Using "./configure CC='/opt/developerstudio12.6/bin/cc'".
6. Using "./configure CC='/opt/developerstudio12.6/bin/cc -m64'".
.. [#solaris1] Using ``./configure CC='gcc -m64'`` for 64-bit user-space.
The following systems are known not to work at the current time; this list
is almost certainly not exhaustive:
.. [#solaris2] Using ``./configure CC='/opt/developerstudio12.6/bin/cc'``.
+-------------------------+--------+---------------------------------+---+
| Operating system | Arch | Compiler | N |
+-------------------------+--------+---------------------------------+---+
| OpenBSD 6.3 | x86_64 | GNU C Compiler 4.2.1 | 1 |
| OpenBSD 6.3 | x86_64 | Clang (LLVM) 5.0.1 | 1 |
+-------------------------+--------+---------------------------------+---+
.. [#solaris3] Using ``./configure CC='/opt/developerstudio12.6/bin/cc
-m64'``.
The following systems are known *not* to work at the current time; this
list is almost certainly not exhaustive:
================ ====== ==================== ============
Operating system Arch Compiler Notes
================ ====== ==================== ============
OpenBSD 6.3 x86_64 GNU C Compiler 4.2.1 [#openbsd1]_
OpenBSD 6.3 x86_64 Clang (LLVM) 5.0.1 [#openbsd1]_
================ ====== ==================== ============
Notes:
1. The OpenBSD C library does not include <monetary.h> nor its associated
functions, particularly strfmon().
.. [#openbsd1] The OpenBSD C library does not include
:code:`<monetary.h>` nor its associated functions, particularly
:code:`strfmon()`.
Git Repository
==============
You can always download the latest version of Star Traders directly from
the Git repository on the ZAP Group server:
You can always download the latest version of Star Traders directly from
the Git repository on the ZAP Group server::
git clone git://git.zap.org.au/data/git/trader.git
Released versions of Star Traders include all scripts and files needed for
installation. If you are cloning the source code from the Git repository,
however, you will need to update these files yourself. You will need the
following additional tools installed on your system to do so:
Released versions of Star Traders include all scripts and files needed
for installation. If you are cloning the source code from the Git
repository, however, you will need to update these files yourself. You
will need the following additional tools installed on your system to do
so:
1. Autoconf v2.69 or later (https://www.gnu.org/software/autoconf/)
2. Automake v1.15 or later (https://www.gnu.org/software/automake/)
3. pkg-config v0.9.0 or later (https://pkg-config.freedesktop.org/)
4. GNU Portability Library (https://www.gnu.org/software/gnulib/)
1. `Autoconf`__ v2.69 or later
2. `Automake`__ v1.15 or later
3. `pkg-config`__ v0.9.0 or later
4. `GNU Portability Library`__
The GNU Portability Library may be installed by retrieving the latest
Gnulib source code from the Git repository:
__ https://www.gnu.org/software/autoconf/
__ https://www.gnu.org/software/automake/
__ https://pkg-config.freedesktop.org/
__ https://www.gnu.org/software/gnulib/
The GNU Portability Library may be installed by retrieving the latest
Gnulib source code from the Git repository::
git clone git://git.savannah.gnu.org/gnulib.git
Once you have these tools, change to the Star Traders source code tree and
type:
Once you have these tools, change to the Star Traders source code tree
and type::
PATH=${PATH}:/path/to/gnulib-tool ./build-aux/bootstrap
where "/path/to/gnulib-tool" is, of course, the directory containing the
Gnulib "gnulib-tool" script. You should be ready to run "./configure &&
make && make install" now.
where ``/path/to/gnulib-tool`` is, of course, the directory containing
the Gnulib ``gnulib-tool`` script. You should be ready to run
``./configure && make && make install`` now.
For Translators
===============
Thank you for even considering to translate Star Traders into your native
language! You may use either a released version of Star Traders, or an
unreleased one, as discussed in the Git Repository section above. In
Thank you for even considering to translate Star Traders into your native
language! You may use either a released version of Star Traders, or an
unreleased one, as discussed in the Git Repository section above. In
either case, you may find the following workflow useful.
First, run "./build-aux/bootstrap" if needed (only for unreleased versions
of Star Traders).
First, run ``./build-aux/bootstrap`` if needed (only for unreleased
versions of Star Traders).
Next, configure and install Star Traders into your home directory:
Next, configure and install Star Traders into your home directory::
./configure --prefix=$HOME/opt/trader
make
make install
If you are adding a new translation, add its GNU Gettext language code to
the file po/LINGUAS, then create the template file for that language ("zz"
is used here):
If you are adding a new translation, add its GNU Gettext language code to
the file `po/LINGUAS`, then create the template file for that language
(“``zz``” is used here)::
(cd po; msginit --locale=zz --width=132)
Now, modify the PO file for your language using your favourite editor or
translation tool. Please note that the generated PO file has extensive
documentation in its translator comments. If anything is unclear, please
feel free to ask the author and maintainer; contact details are available
in the README file.
Now, modify the PO file for your language using your favourite editor or
translation tool. Please note that the generated PO file has extensive
documentation in its translator comments. If anything is unclear, please
feel free to ask the author and maintainer; contact details are available
in the `README` file.
To test your PO file, compile and run Star Traders (replace "zz" with your
language code, of course):
To test your PO file, compile and run Star Traders (replace “``zz``” with
your language code, of course)::
make && make -C po zz.gmo && make install
LANGUAGE=zz $HOME/opt/trader/bin/trader
The "make -C po zz.gmo" forces the rebuilding of the GMO output file; the
"LANGUAGE=zz" parameter sets the language of the messages to use.
The ``make -C po zz.gmo`` forces the rebuilding of the GMO output file;
the ``LANGUAGE=zz`` parameter sets the language of the messages to use.
This process of editing and testing the PO file can be done iteratively,
of course: make a change, recompile, run the program to see the changes,
This process of editing and testing the PO file can be done iteratively,
of course: make a change, recompile, run the program to see the changes,
repeat as needed.
Once you have finished your translation, please submit the PO file to the
Translation Project. The relevant web page for Star Traders is:
Once you have finished your translation, please submit the PO file to the
Translation Project (TP). See the `TP Star Traders`__ web page or read
their `Translators and the TP`__ page for additional information.
https://translationproject.org/domain/trader.html
__ https://translationproject.org/domain/trader.html
__ https://translationproject.org/html/translators.html
More information for translators is available at:
https://translationproject.org/html/translators.html
To clean up your install directory, simply run:
To clean up your install directory, simply run::
rm -fr $HOME/opt/trader
By the way, as mentioned in the translator comments, formatting the help
text is probably the most complicated and tedious part of translating Star
Traders. The author and maintainer of this game is more than happy to
help you with this task: if you are able to provide a translation, even if
it is not formatted correctly, the maintainer will perform the necessary
adjustments for word-wrapping and justification.
By the way, as mentioned in the translator comments, formatting the help
text is probably the most complicated and tedious part of translating
Star Traders. The author and maintainer of this game is more than happy
to help you with this task: if you are able to provide a translation,
even if it is not formatted correctly, the maintainer will perform the
necessary adjustments for word-wrapping and justification.

316
NEWS
View File

@ -1,40 +1,50 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
Star Traders is a simple game of interstellar trading, where the objective
is to create companies, buy and sell shares, borrow and repay money, in
order to become the wealthiest player (the winner).
============================================
Star Traders: A Game of Interstellar Trading
============================================
The following history is presented in reverse chronological order. If you
would like to see a list of detailed changes to this project, you should
browse the Git repository on The ZAP Group web server at the following
location: https://www.zap.org.au/cgit/trader.git
Star Traders is a simple game of interstellar trading, where the
objective is to create companies, buy and sell shares, borrow and repay
money, in order to become the wealthiest player (the winner).
The following history is presented in reverse chronological order. If
you would like to see a list of detailed changes to this project, you
should browse the `Star Traders Git repository`__ on `The ZAP Group web
server`__.
__ https://www.zap.org.au/cgit/trader.git
__ https://www.zap.org.au/
.. contents::
Version 7.13 (not yet released)
-------------------------------
Modified the code to work more reliably on non-GNU C Library (glibc) plat-
forms, particularly FreeBSD, Solaris and Cygwin, when using the standard
POSIX locale. Extensively tested the build procedure on multiple operat-
ing systems and compilers, and submitted code upstream to the Autoconf
Archive project to make this work more robustly. Listed tested operating
system and compiler combinations in the INSTALL file.
Converted all text files to reStructuredText (ReST) format. This format
is still quite readable as raw text, and is much more capable than the
myriad all-slightly-incompatible variants of Markdown.
Added the Spanish translation, with thanks to Francisco Javier Serrador.
Modified the source code to work more reliably on non-GNU C Library
(``glibc``) platforms, particularly FreeBSD, Solaris and Cygwin, when
using the standard POSIX locale. Extensively tested the build procedure
on multiple operating systems and compilers, and submitted code upstream
to the Autoconf Archive project to make this work more robustly. Listed
tested operating system and compiler combinations in the `INSTALL` file.
Added the Spanish translation, with thanks to Francisco Javier Serrador.
Updated the Esperanto translation, with thanks to Felipe Castro.
Updated one string in the game for consistency with other labels; updated
all PO translations to suit. Also added strings from obsolete versions of
the GNU C Library so that Star Traders can provide translations for them.
Updated one string in the game for consistency with other labels; updated
all PO translations to suit. Also added strings from obsolete versions
of the GNU C Library so that Star Traders can provide translations for
them.
Updated to the latest snapshot of the Gnulib GNU Portability Library. In
addition, updated the list of prerequisites in the INSTALL file and listed
some more command line options for the configure script.
Updated to the latest snapshot of the Gnulib GNU Portability Library. In
addition, updated the list of prerequisites in the `INSTALL` file and
listed some more command line options for the ``configure`` script.
Version 7.12 (24th August, 2017)
@ -46,40 +56,44 @@ Updated the Serbian translation, with thanks to Мирослав Николић.
Version 7.11 (18th June, 2017)
------------------------------
Bug fix: some architectures (such as ARM, PowerPC and S390) treat "char"
as "unsigned char", and this caused b64decode() to fail while loading a
saved game. Changed the relevant type from "char" to "int" to fix this.
Bug fix: some architectures (such as ARM, PowerPC and S390) treat
:code:`char` as :code:`unsigned char`, and this caused
:code:`b64decode()` to fail while loading a saved game. Changed the
relevant type from :code:`char` to :code:`int` to fix this.
Version 7.10 (2nd June, 2017)
-----------------------------
Added a data directory that contains a desktop file and appropriate icons.
Adjusted the game constants for more dynamic play: allow the share prices
and returns to change a bit more frequently and more rapidly. Tweaked the
colours in the example monochrome retro-computing command lines, including
adding an amber monitor version.
Added a `data` directory that contains a desktop file and appropriate
icons. Adjusted the game constants for more dynamic play: allow the
share prices and returns to change a bit more frequently and more
rapidly. Tweaked the colours in the example monochrome retro-computing
command lines, including adding an amber monitor version.
Added a Serbian translation, with thanks to Мирослав Николић. Updated the
Danish, French, Swedish, Hungarian, Norwegian Bokmål and German transla-
tions, in that order, with thanks to Joe Hansen, Frédéric Marchal, Anders
Jonsson, Balázs Úr, Johnny A. Solbu and Philipp Thomas respectively.
Added a Serbian translation, with thanks to Мирослав Николић. Updated
the Danish, French, Swedish, Hungarian, Norwegian Bokmål and German
translations, in that order, with thanks to Joe Hansen, Frédéric Marchal,
Anders Jonsson, Balázs Úr, Johnny A. Solbu and Philipp Thomas
respectively.
Updated translatable strings to overcome a limitation of msgfmt(1): if a
string starts or ends with a new-line character, its translation must do
so as well. This has an impact on labels in particular. Also changed the
help text string "Page N of M" to allow translations of the form "Of M
pages, this is page N", and all quoted strings using the obsolete GNU form
`like this' to 'this'. In addition, newer versions of lib/getopt.c have
different strings. All translations have been updated as a result.
Updated translatable strings to overcome a limitation of ``msgfmt``\(1):
if a string starts or ends with a new-line character, its translation
must do so as well. This has an impact on labels in particular. Also
changed the help text string “Page *N* of *M*” to allow translations of
the form “Of *M* pages, this is page *N*”, and all quoted strings using
the obsolete GNU form ```like this'`` to ``'this'``. In addition, newer
versions of `lib/getopt.c` have different strings. All translations have
been updated as a result.
Removed the obsolete Gnulib gettext module and updated to the latest Git
snapshot of Gnulib. Updated the dependency version numbers for Autoconf,
Automake and Gettext. Also updated all macros from the Autoconf Archive.
Removed the obsolete Gnulib ``gettext`` module and updated to the latest
Git snapshot of Gnulib. Updated the dependency version numbers for
Autoconf, Automake and Gettext. Also updated all macros from the
Autoconf Archive.
Migrated the source code repository from Subversion to Git. Updated the
documentation to suit, and also listed specific required version numbers
for the Autoconf and Automake tools in the INSTALL file.
Migrated the source code repository from Subversion to Git. Updated the
documentation to suit, and also listed specific required version numbers
for the Autoconf and Automake tools in the `INSTALL` file.
Version 7.9 (5th January, 2016)
@ -91,169 +105,171 @@ Updated the Danish translation, with thanks to Joe Hansen.
Version 7.8 (10th September, 2015)
----------------------------------
Changed the name of the seventh company from "Gemeni Inc" to "Gemini Inc":
a spelling mistake that has been present since 1990! Special thanks to
Anders Jonsson for pointing this out.
Changed the name of the seventh company from “Gemeni Inc” to “Gemini
Inc”: a spelling mistake that has been present since 1990! Special
thanks to Anders Jonsson for pointing this out.
Added the Swedish translation, with thanks to Anders Jonsson. Minor code
changes were made to accommodate this language. Incorporated changes made
by the translators for German, French and Norwegian Bokmål, in that order,
with thanks to Philipp Thomas, Frédéric Marchal and Johnny A. Solbu. Also
updated all references to GNU Gettext to version 0.19.5.
Added the Swedish translation, with thanks to Anders Jonsson. Minor code
changes were made to accommodate this language. Incorporated changes
made by the translators for German, French and Norwegian Bokmål, in that
order, with thanks to Philipp Thomas, Frédéric Marchal and
Johnny A. Solbu. Also updated all references to GNU Gettext to version
0.19.5.
Version 7.7 (18th August, 2015)
-------------------------------
Added the Hungarian translation, with thanks to Balázs Úr. Minor code
changes were made to accommodate this language. Also added documentation
in the file INSTALL to translate Star Traders into another language.
Added the Hungarian translation, with thanks to Balázs Úr. Minor code
changes were made to accommodate this language. Also added documentation
in the file `INSTALL` to translate Star Traders into another language.
Version 7.6 (13th August, 2014)
-------------------------------
A minor release to fix compilation bugs under Cygwin: the libiconv library
must be listed AFTER the GNU Portability Library on that platform.
A minor release to fix compilation bugs under Cygwin: the ``libiconv``
library must be listed *after* the GNU Portability Library on that
platform.
In addition, the minimum and maximum share return values were changed from
-10% to -15% and 20% to 25% respectively. This gives more incentive to
borrow money from the Interstellar Trading Bank, whose interest rate can
reach a maximum of 20%.
In addition, the minimum and maximum share return values were changed
from -10% to -15% and 20% to 25% respectively. This gives more incentive
to borrow money from the Interstellar Trading Bank, whose interest rate
can reach a maximum of 20%.
Version 7.5 (24th May, 2014)
----------------------------
Rewrote the file input and output routines so that saved games are now
stored in a much more reliable (scrambled) ASCII format. However, saved
games from older versions will no longer load: the workaround is to start
the older version of Star Traders with the "--dont-encrypt" command line
option, load the relevant game and save it again straight away, change the
second line in the game file from "File API 7.2" to "File API 7.5", then
run the new version of Star Traders.
Rewrote the file input and output routines so that saved games are now
stored in a much more reliable (scrambled) ASCII format. However, saved
games from older versions will no longer load: the workaround is to start
the older version of Star Traders with the ``--dont-encrypt`` command
line option, load the relevant game and save it again straight away,
change the second line in the game file from “``File API 7.2``” to
“``File API 7.5``”, then run the new version of Star Traders.
Added translations for Norwegian Bokmål, Danish and Esperanto (in that
order), with thanks to Johnny A. Solbu, Joe Hansen and Felipe Castro.
Updated auxiliary files to the latest versions available from the Gnulib
Added translations for Norwegian Bokmål, Danish and Esperanto (in that
order), with thanks to Johnny A. Solbu, Joe Hansen and Felipe Castro.
Updated auxiliary files to the latest versions available from the Gnulib
GNU Portability Library and the GNU Autoconf project.
Version 7.4 (9th May, 2012)
---------------------------
For the first time since the CP/M-80 version of Star Traders, the game
algorithms have been carefully reviewed and revised. In particular,
companies may now have negative returns, making players lose money on such
shares. This may encourage players to use the "Sell shares" option at
appropriate times... In addition, changes in share prices, returns and
bank interest rates have been made much "smoother", less prone to wild
variations. These new algorithms were first modelled using Gnuplot and
For the first time since the CP/M-80 version of Star Traders, the game
algorithms have been carefully reviewed and revised. In particular,
companies may now have negative returns, making players lose money on
such shares. This may encourage players to use the “Sell shares” option
at appropriate times… In addition, changes in share prices, returns and
bank interest rates have been made much “smoother”, less prone to wild
variations. These new algorithms were first modelled using Gnuplot and
Perl before being implemented in C.
The "configure" script now prints a prominent warning if a wide-character
version of Curses, such as NcursesW, is not available when compiling the
game. It is a warning and not an error as single-byte locales (such as
US-ASCII and ISO8859-1) do not require NcursesW, even if the compilation
environment itself is a multibyte one (such as UTF-8).
The ``configure`` script now prints a prominent warning if a
wide-character version of Curses, such as NcursesW, is not available when
compiling the game. It is a warning and not an error as single-byte
locales (such as US-ASCII and ISO8859-1) do not require NcursesW, even if
the compilation environment itself is a multibyte one (such as UTF-8).
The Russian translation has been updated, with thanks to Vladimir Tsarkov
and Pavel Maryanov. Translations for French, German, Finnish and Croatian
have been added (in that order), with thanks to Frédéric Marchal, Philipp
Thomas, Jorma Karvonen and Tomislav Krznar. Special thanks also to the
Translation Project, which brings free (open-source) software developers
and translators together.
The Russian translation has been updated, with thanks to Vladimir Tsarkov
and Pavel Maryanov. Translations for French, German, Finnish and
Croatian have been added (in that order), with thanks to Frédéric
Marchal, Philipp Thomas, Jorma Karvonen and Tomislav Krznar. Special
thanks also to the Translation Project, which brings free (open-source)
software developers and translators together.
Version 7.3 (16th March, 2012)
------------------------------
Star Traders has been translated into Russian. In addition, a number of
bugs with internationalisation have been fixed. The "default value" key
(originally "=" or ";" as the first key-press in any input field) has been
incorporated into the language translation files.
Star Traders has been translated into Russian. In addition, a number of
bugs with internationalisation have been fixed. The “default value” key
(originally “``=``” or “``;``” as the first key-press in any input field)
has been incorporated into the language translation files.
Version 7.2 (29th August, 2011)
-------------------------------
Star Traders has been internationalised! As part of this update, all
input and output routines have been rewritten to handle multibyte strings.
English (Australian, British, Canadian and US) translations have been
included. Translations for other languages (and corrections to existing
languages) are more than welcome!
Star Traders has been internationalised! As part of this update, all
input and output routines have been rewritten to handle multibyte
strings. English (Australian, British, Canadian and US) translations
have been included. Translations for other languages (and corrections to
existing languages) are more than welcome!
Game files are now stored in UTF-8 format (once decrypted!) and can be
loaded under any locale with automatic character set translation. This
does mean, however, that game files from versions 7.0 and 7.1 of Star
Game files are now stored in UTF-8 format (once decrypted!) and can be
loaded under any locale with automatic character set translation. This
does mean, however, that game files from versions 7.0 and 7.1 of Star
Traders will not load under this release.
The program now better handles terminal resizing events (for versions of
Curses supporting such events). It also tries to restore the terminal
The program now better handles terminal resizing events (for versions of
Curses supporting such events). It also tries to restore the terminal
environment correctly when receiving a terminating signal.
Version 7.1 (29th July, 2011)
-----------------------------
A minor updated release to fix configuration problems on some platforms.
In particular, some systems could not find the Curses libraries or header
files, so the Autoconf macro that performed the search was rewritten and
A minor updated release to fix configuration problems on some platforms.
In particular, some systems could not find the Curses libraries or header
files, so the Autoconf macro that performed the search was rewritten and
extended.
Version 7.0 (25th July, 2011)
-----------------------------
Released the first version of Star Traders for Unix-like operating systems
such as Linux. It requires a text console or window of at least 80x24 in
size. The code is written in the C99 programming language as a learning
exercise for a number of software tools and libraries; the algorithms in
the original Pascal and Visual Basic versions are reused for the game
logic.
Released the first version of Star Traders for Unix-like operating
systems such as Linux. It requires a text console or window of at least
80×24 in size. The code is written in the C99 programming language as a
learning exercise for a number of software tools and libraries; the
algorithms in the original Pascal and Visual Basic versions are reused
for the game logic.
Note that versions 7.0 and 7.1 of Star Traders did NOT handle locales with
multibyte character sequences (such as UTF-8) correctly. Each byte in a
such a sequence was treated as a separate character. Eight-bit locales
(such as US-ASCII, ISO8859-1, etc.) worked correctly.
Note that versions 7.0 and 7.1 of Star Traders did *not* handle locales
with multibyte character sequences (such as UTF-8) correctly. Each byte
in a such a sequence was treated as a separate character. Eight-bit
locales (such as US-ASCII, ISO8859-1, etc.) worked correctly.
Early history
-------------
The original (and very primitive) Star Traders game was written by S. J.
Singer in 1984 using Altair Basic. This was modified for Microsoft Basic
(MBASIC) running under the CP/M-80 operating system by John Zaitseff and
The original (and very primitive) Star Traders game was written by S. J.
Singer in 1984 using Altair Basic. This was modified for Microsoft Basic
(MBASIC) running under the CP/M-80 operating system by John Zaitseff and
released on 7th March, 1988.
Star Traders was then completely rewritten in 1990 for the Australian-
designed 8-bit MicroBee computer running CP/M-80 on a Zilog Z80 processor,
using Turbo Pascal 3.01a. Essentially, only the name of the game and some
of the ideas were retained in this version. Version 4.1 of Star Traders
was released on 1st August, 1991.
Star Traders was then completely rewritten in 1990 for the
Australian-designed 8-bit MicroBee computer running CP/M-80 on a Zilog
Z80 processor, using Turbo Pascal 3.01a. Essentially, only the name of
the game and some of the ideas were retained in this version. Version
4.1 of Star Traders was released on 1st August, 1991.
In 1992, it was recompiled for the NEC Advanced Personal Computer (with
8-inch floppy drives!) running CP/M-86 on an 8086 processor, using Turbo
Pascal 2.0. This version had colour added to it in the form of ANSI
In 1992, it was recompiled for the NEC Advanced Personal Computer (with
8-inch floppy drives!) running CP/M-86 on an 8086 processor, using Turbo
Pascal 2.0. This version had colour added to it in the form of ANSI
escape sequences; version 4.4 was released on 2nd August, 1993.
The next version came in 1993, when the program was recompiled to run on
IBM-compatible machines running MS-DOS and ANSI.SYS. Turbo Pascal 6.0 was
used for this. The ANSI escape sequences were slightly different under
MS-DOS than under the NEC, in that the NEC supported a number of extra
character attributes. In other words, the MS-DOS version looked worse
than the one running under CP/M-86!
The next version came in 1993, when the program was recompiled to run on
IBM-compatible machines running MS-DOS and ANSI.SYS. Turbo Pascal 6.0
was used for this. The ANSI escape sequences were slightly different
under MS-DOS than under the NEC, in that the NEC supported a number of
extra character attributes. In other words, the MS-DOS version looked
worse than the one running under CP/M-86!
Star Traders was recompiled again in 1994 for IBM-compatible machines with
VGA/EGA/CGA video graphics adapters. The output routines were recoded to
use a "windowed" look. Borland Pascal 7.0 was used for this purpose,
along with a number of text window manipulation modules. Version 5.4 was
released on 1st June, 1994.
Star Traders was recompiled again in 1994 for IBM-compatible machines
with VGA/EGA/CGA video graphics adapters. The output routines were
recoded to use a “windowed” look. Borland Pascal 7.0 was used for this
purpose, along with a number of text window manipulation modules.
Version 5.4 was released on 1st June, 1994.
In 1995, Star Traders was completely rewritten for the 16-bit Microsoft
Windows 3.1 graphical environment. Microsoft Visual Basic 3.0 was used
for this purpose. Although completely rewritten, the original algorithms
were reused from previous versions. Version 6.0 of the game was released
In 1995, Star Traders was completely rewritten for the 16-bit Microsoft
Windows 3.1 graphical environment. Microsoft Visual Basic 3.0 was used
for this purpose. Although completely rewritten, the original algorithms
were reused from previous versions. Version 6.0 of the game was released
on 15th September, 1995.
Star Traders was then to languish until almost 16 years later...
Star Traders was then to languish until almost 16 years later

86
README
View File

@ -1,81 +1,79 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
Welcome to Star Traders! This is a simple game of interstellar trading,
where the objective is to create companies, buy and sell shares, borrow
============================================
Star Traders: A Game of Interstellar Trading
============================================
Welcome to Star Traders! This is a simple game of interstellar trading,
where the objective is to create companies, buy and sell shares, borrow
and repay money, in order to become the wealthiest player (the winner).
Installation
============
Full instructions for installing Star Traders are contained in the file
INSTALL. Please note that that file does NOT contain generic GNU Autoconf
instructions! For the impatient, the short version is:
Full instructions for installing Star Traders are contained in the file
`INSTALL`. Please note that that file does *not* contain generic GNU
Autoconf instructions! For the impatient, the short version is::
./configure
make
make install
The final command needs to be run as the system administrator (root), of
The final command needs to be run as the system administrator (root), of
course.
How to Play
===========
Star Traders comes with quite extensive in-built instructions on how to
play the game. Start by running "trader" from the command line. You will
be prompted for the number of players; from one to eight people can play
(although, in this version, they will all have to share the one keyboard
and screen!). After entering the names of the players, you will have the
opportunity to read instructions on how to play the game. Do so---and
good luck in the game!
Star Traders comes with quite extensive in-built instructions on how to
play the game. Start by running ``trader`` from the command line. You
will be prompted for the number of players; from one to eight people can
play (although, in this version, they will all have to share the one
keyboard and screen!). After entering the names of the players, you will
have the opportunity to read instructions on how to play the game. Do
so—and good luck in the game!
The manual page for Star Traders contains more information on command line
options, as well as some suggestions for running a retro-computing green-
screen nostalgia-tour version of the game... Try running the following,
for example (all on one line):
The manual page for Star Traders contains more information on command
line options, as well as some suggestions for running a retro-computing
green-screen nostalgia-tour version of the game… Try running the
following, for example (all on one line)::
xterm -g 80x24 -fa Mono -fs 18 -bg '#181818' -fg '#2CAB00' -bc +sb \
+bdc +fbx -xrm 'XTerm*colorBD: #41FF00' -e trader --no-colour &
To read the manual page, type "man trader" from the command line.
To read the manual page, type ``man trader`` from the command line.
Feedback
========
Your comments, suggestions, corrections and enhancements are always warmly
welcomed! Please send these to:
Your comments, suggestions, corrections and enhancements are always
warmly welcomed! Please send these to:
Postal: John Zaitseff,
The ZAP Group,
Unit 6, 116 Woodburn Road,
Berala, NSW, 2141,
Australia
E-mail: J.Zaitseff@zap.org.au
Web: https://www.zap.org.au/software/trader/
FTP: https://ftp.zap.org.au/pub/trader/
ftp://ftp.zap.org.au/pub/trader/
:Postal: | John Zaitseff,
| The ZAP Group,
| Unit 6, 116 Woodburn Road,
| Berala, NSW, 2141,
| Australia
:Email: | J.Zaitseff@zap.org.au
:Web: | https://www.zap.org.au/software/trader/
:FTP: | https://ftp.zap.org.au/pub/trader/
| ftp://ftp.zap.org.au/pub/trader/
Copyright
=========
Copyright (C) 1990-2019, John Zaitseff.
**Copyright © 19902019, John Zaitseff.**
Star Traders is free software that is distributed under the terms of the
GNU General Public License. You can redistribute it and/or modify it
under the terms of that License as published by the Free Software
Star Traders is free software that is distributed under the terms of the
GNU General Public License. You can redistribute it and/or modify it
under the terms of that License as published by the Free Software
Foundation, either version 3 or (at your option) any later version.
This game is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License in
the file COPYING for more details.
This game is distributed in the hope that it will be useful, but WITHOUT
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License in
the file `COPYING` for more details.

View File

@ -1,17 +1,16 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
This directory, build-aux, contains auxiliary build-related files for Star
Traders. The following scripts are specific to this package:
============================================
Star Traders: A Game of Interstellar Trading
============================================
bootstrap - Generate auxiliary files needed for building
msgfmt-desktop - Use msgfmt(1) or cp(1) to copy desktop files
This directory, `build-aux`, contains auxiliary build-related files for
Star Traders. The following scripts are specific to this package:
All other files in this directory (other than this README file, of course)
are generated by Autoconf, Automake or Gnulib. The bootstrap shell script
generates these files by running those tools in the correct order; see the
top-level INSTALL file for more details.
* `bootstrap`: Generate auxiliary files needed for building
* `msgfmt-desktop`: Use ``msgfmt``\(1) or ``cp``\(1) to copy desktop files
All other files in this directory (other than this `README` file, of
course) are generated by Autoconf, Automake or Gnulib. The bootstrap
shell script generates these files by running those tools in the correct
order; see the top-level `INSTALL` file for more details.

View File

@ -1,9 +1,8 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
This directory, data, contains non-code data related to Star Traders. In
particular, the desktop file and icons are located here.
============================================
Star Traders: A Game of Interstellar Trading
============================================
This directory, `data`, contains non-code data related to Star Traders.
In particular, the desktop file and icons are located here.

View File

@ -1,9 +1,9 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
This directory, doc, contains documentation related to Star Traders. In
particular, the Unix manual page for the game is in the file "trader.6".
============================================
Star Traders: A Game of Interstellar Trading
============================================
This directory, `doc`, contains documentation related to Star Traders.
In particular, the Unix manual page for the game is in the file
`trader.6`.

View File

@ -1,20 +1,23 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
This directory, lib, contains source code as generated by the Gnulib GNU
Portability Library "gnulib-tool" script. See the project web site at
https://www.gnu.org/software/gnulib/ for more information.
============================================
Star Traders: A Game of Interstellar Trading
============================================
The following file is used by xopen-source.m4 to redefine _XOPEN_SOURCE
appropriately. It is not part of the GNU Portability Library:
This directory, `lib`, contains source code as generated by the `Gnulib
GNU Portability Library`__ ``gnulib-tool`` script. See that project web
site for more information.
xopen-source.h
__ https://www.gnu.org/software/gnulib/
The following file provides translatable strings for obsolete versions of
The following file is used by `xopen-source.m4` to redefine
``_XOPEN_SOURCE`` appropriately. It is not part of the GNU Portability
Library:
* `xopen-source.h`
The following file provides translatable strings for obsolete versions of
various libraries. It is not part of the GNU Portability Library:
obsolete-strings.c
* `obsolete-strings.c`

View File

@ -1,28 +1,34 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
============================================
Star Traders: A Game of Interstellar Trading
============================================
This directory, `m4`, contains M4 macros used by Autoconf.
This directory, m4, contains M4 macros used by Autoconf.
The following macro is custom-defined for Star Traders:
xopen-source.m4
* `xopen-source.m4`
The following macros are from the Autoconf Archive project, as detailed on
that project's web site, https://www.gnu.org/software/autoconf-archive/:
ax_c___attribute__.m4
ax_cflags_warn_all.m4
ax_compiler_vendor.m4
ax_prepend_flag.m4
ax_require_defined.m4
ax_with_curses.m4
The following macros are from the `Autoconf Archive project`__, as
detailed on that projects web site:
The following macro was generated by running the GNU Portability Library
"gnulib-tool" with appropriate command line options, as detailed on that
project's web site, https://www.gnu.org/software/gnulib/:
* `ax_c___attribute__.m4`
* `ax_cflags_warn_all.m4`
* `ax_compiler_vendor.m4`
* `ax_prepend_flag.m4`
* `ax_require_defined.m4`
* `ax_with_curses.m4`
gnulib-cache.m4
__ https://www.gnu.org/software/autoconf-archive/
The following macro was generated by running the `GNU Portability
Library`__ ``gnulib-tool`` with appropriate command line options, as
detailed on that projects web site:
* `gnulib-cache.m4`
__ https://www.gnu.org/software/gnulib/

View File

@ -1,9 +1,10 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
This directory, po, contains translations for text strings used in Star
Traders. The GNU Gettext project is used for this purpose.
============================================
Star Traders: A Game of Interstellar Trading
============================================
This directory, `po`, contains translations for text strings used in Star
Traders. The `GNU Gettext project`__ is used for this purpose.
__ https://www.gnu.org/software/gettext/

View File

@ -1,20 +1,19 @@
**************************************************************************
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
.. -*- mode: rst; coding: utf-8 -*-
This directory, src, contains the main source code for Star Traders. The
source code is split up among the following files:
============================================
Star Traders: A Game of Interstellar Trading
============================================
trader.c trader.h - Main program, command-line interface
globals.c globals.h - Global game constants and variables
game.c game.h - Game start, end and (some) display functions
move.c move.h - Functions for making and processing a move
exch.c exch.h - Stock Exchange and Bank functions
fileio.c fileio.h - Load and save game file functions
help.c help.h - Help text functions: how to play the game
intf.c intf.h - Basic text input/output functions
utils.c utils.h - Utility functions needed by Star Traders
system.h - All system header files are included here
This directory, `src`, contains the main source code for Star Traders.
The source code is split up among the following files:
* `trader.c`, `trader.h`: Main program, command-line interface
* `globals.c`, `globals.h`: Global game constants and variables
* `game.c`, `game.h`: Game start, end and (some) display functions
* `move.c`, `move.h`: Functions for making and processing a move
* `exch.c`, `exch.h`: Stock Exchange and Bank functions
* `fileio.c`, `fileio.h`: Load and save game file functions
* `help.c`, `help.h`: Help text functions: how to play the game
* `intf.c`, `intf.h`: Basic text input/output functions
* `utils.c`, `utils.h`: Utility functions needed by Star Traders
* `system.h`: All system header files are included here