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

316
NEWS
View File

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

View File

@ -1,17 +1,16 @@
************************************************************************** .. -*- mode: rst; coding: utf-8 -*-
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
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 This directory, `build-aux`, contains auxiliary build-related files for
msgfmt-desktop - Use msgfmt(1) or cp(1) to copy desktop files Star Traders. The following scripts are specific to this package:
All other files in this directory (other than this README file, of course) * `bootstrap`: Generate auxiliary files needed for building
are generated by Autoconf, Automake or Gnulib. The bootstrap shell script * `msgfmt-desktop`: Use ``msgfmt``\(1) or ``cp``\(1) to copy desktop files
generates these files by running those tools in the correct order; see the
top-level INSTALL file for more details. 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 @@
************************************************************************** .. -*- mode: rst; coding: utf-8 -*-
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
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 @@
************************************************************************** .. -*- mode: rst; coding: utf-8 -*-
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
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 @@
************************************************************************** .. -*- mode: rst; coding: utf-8 -*-
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
This directory, lib, contains source code as generated by the Gnulib GNU ============================================
Portability Library "gnulib-tool" script. See the project web site at Star Traders: A Game of Interstellar Trading
https://www.gnu.org/software/gnulib/ for more information. ============================================
The following file is used by xopen-source.m4 to redefine _XOPEN_SOURCE This directory, `lib`, contains source code as generated by the `Gnulib
appropriately. It is not part of the GNU Portability Library: 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: various libraries. It is not part of the GNU Portability Library:
obsolete-strings.c * `obsolete-strings.c`

View File

@ -1,28 +1,34 @@
************************************************************************** .. -*- mode: rst; coding: utf-8 -*-
* *
* Star Traders: A Game of Interstellar Trading * ============================================
* Copyright (C) 1990-2019, John Zaitseff * 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: 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 The following macros are from the `Autoconf Archive project`__, as
ax_cflags_warn_all.m4 detailed on that projects web site:
ax_compiler_vendor.m4
ax_prepend_flag.m4
ax_require_defined.m4
ax_with_curses.m4
The following macro was generated by running the GNU Portability Library * `ax_c___attribute__.m4`
"gnulib-tool" with appropriate command line options, as detailed on that * `ax_cflags_warn_all.m4`
project's web site, https://www.gnu.org/software/gnulib/: * `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 @@
************************************************************************** .. -*- mode: rst; coding: utf-8 -*-
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
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 @@
************************************************************************** .. -*- mode: rst; coding: utf-8 -*-
* *
* Star Traders: A Game of Interstellar Trading *
* Copyright (C) 1990-2019, John Zaitseff *
* *
**************************************************************************
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 This directory, `src`, contains the main source code for Star Traders.
globals.c globals.h - Global game constants and variables The source code is split up among the following files:
game.c game.h - Game start, end and (some) display functions
move.c move.h - Functions for making and processing a move * `trader.c`, `trader.h`: Main program, command-line interface
exch.c exch.h - Stock Exchange and Bank functions * `globals.c`, `globals.h`: Global game constants and variables
fileio.c fileio.h - Load and save game file functions * `game.c`, `game.h`: Game start, end and (some) display functions
help.c help.h - Help text functions: how to play the game * `move.c`, `move.h`: Functions for making and processing a move
intf.c intf.h - Basic text input/output functions * `exch.c`, `exch.h`: Stock Exchange and Bank functions
utils.c utils.h - Utility functions needed by Star Traders * `fileio.c`, `fileio.h`: Load and save game file functions
system.h - All system header files are included here * `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