Split up README, most of it goes to HACKING.
authorEric S. Raymond <esr@thyrsus.com>
Thu, 9 Jan 2014 02:12:10 +0000 (21:12 -0500)
committerEric S. Raymond <esr@thyrsus.com>
Thu, 9 Jan 2014 02:12:10 +0000 (21:12 -0500)
HACKING [new file with mode: 0644]
Makefile
README

diff --git a/HACKING b/HACKING
new file mode 100644 (file)
index 0000000..23f9e69
--- /dev/null
+++ b/HACKING
@@ -0,0 +1,85 @@
+/*
+ *    Copyright (C) 1987, 1988 Chuck Simmons
+ * 
+ * See the file COPYING, distributed with empire, for restriction
+ * and warranty information.
+ */
+
+C Empire Sources (now called vms-empire).
+
+A few notes on how to debug and modify this code.  This used to be
+part of the README.
+
+Organization:
+
+        empire.h   -- definitions of data structures
+        extern.h   -- definitions of global variables
+        data.c     -- constant data
+       main.c     -- option parsing
+        empire.c   -- main program loop and outermost command handler
+        usermove.c -- move the user's pieces
+        compmove.c -- move the computer's pieces
+        edit.c     -- handle the user's edit mode commands
+        game.c     -- saving, restoring, and initializing the game board
+        display.c  -- update the screen
+       term.c     -- deal with information area of screen
+        math.c     -- mathematical routines
+        object.c   -- routines for manipulating objects
+       attack.c   -- handle attacks between pieces
+       map.c      -- find paths for moving pieces
+       util.c     -- miscellaneous routines, especially I/O.
+
+Debugging notes:
+
+       From command mode, there are two special commands that
+       can be used to turn debugging mode on or off.  "++" turns
+       debugging mode on.  "+-" turns debugging mode off.
+
+       When debugging mode is turned on, the following commands are
+       available:
+
+       "#" -- display a sector of the computer's map.
+
+       "%" -- enter "movie" mode.  The computer continuously makes
+              moves, and the computer's map is shown on the screen.
+              This is useful for debugging the algorithm used by the
+              computer when it makes a move.  Don't confuse this
+              with saving a movie and replaying it.
+
+       "@" -- enable/disable "trace pathmap" mode.  If this command
+              is followed by a "+", trace pathmap mode is enabled.
+              If this command is followed by a "-", trace pathmap
+              mode is disabled.  In this mode, every time a "pathmap"
+              is created, it is displayed.  This is useful for
+              debugging the subroutines that search for an optimal
+              path along which to move a piece.
+
+       "$" -- enable/disable "print_debug".  This command is also
+              followed by either a "+" or "-".  In this mode,
+              various messages will be printed out at times which
+              may indicate that something is being done non-optimally.
+
+       "&" -- enable/disable "print_vmap".  This command is followed
+              by a char that specifies the type of vmap to be
+              displayed.  Values are
+
+               "a" -- army load maps
+               "l" -- transport load maps
+               "u" -- transport unload maps
+               "s" -- ship maps
+               "i" -- pruned explore map
+
+              Any other character disables the printing of vmaps.
+
+       The program will not provide any prompts for the debugging
+       commands.  If you make a mistake, the computer just beeps.
+
+       You can also replay a saved movie with the normal "W" command
+       when debugging mode is turned on.
+
+       Also, the -DDEBUG flag can be turned on to cause consistency
+       checking to be performed frequently on the internal database.
+       This consistency checking is fairly exhaustive and checks for
+       all sorts of screwed up pointers.  My measurements suggest
+       that consistency checking causes the program to run half
+       as fast.
index fedfb35..5aea7b3 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -98,7 +98,7 @@ clean:
 clobber: clean
        rm -f vms-empire vms-empire-*.tar*
 
-SOURCES = README NEWS control empire.6 empire.xml COPYING Makefile BUGS AUTHORS $(FILES) $(HEADERS) empire-logo.png
+SOURCES = README HACKING NEWS control empire.6 empire.xml COPYING Makefile BUGS AUTHORS $(FILES) $(HEADERS) empire-logo.png
 
 vms-empire-$(VERS).tar.gz: $(SOURCES)
        @ls $(SOURCES) | sed s:^:vms-empire-$(VERS)/: >MANIFEST
diff --git a/README b/README
index 889a968..55d6236 100644 (file)
--- a/README
+++ b/README
@@ -1,11 +1,4 @@
-/*
- *    Copyright (C) 1987, 1988 Chuck Simmons
- * 
- * See the file COPYING, distributed with empire, for restriction
- * and warranty information.
- */
-
-C Empire Sources (now called vms-empire).
+               README for vms-empire
 
 VMS-Empire is a simulation of a full-scale war between two
 emperors, the computer and you.  Naturally, there is only
@@ -14,77 +7,13 @@ the other.  The computer plays by the same rules that you
 do.  This game is the ancestor of all the multiplayer 4X
 simulations out there, including Civilization and Master of Orion.
 
-Organization:
-
-        empire.h   -- definitions of data structures
-        extern.h   -- definitions of global variables
-        data.c     -- constant data
-       main.c     -- option parsing
-        empire.c   -- main program loop and outermost command handler
-        usermove.c -- move the user's pieces
-        compmove.c -- move the computer's pieces
-        edit.c     -- handle the user's edit mode commands
-        game.c     -- saving, restoring, and initializing the game board
-        display.c  -- update the screen
-       term.c     -- deal with information area of screen
-        math.c     -- mathematical routines
-        object.c   -- routines for manipulating objects
-       attack.c   -- handle attacks between pieces
-       map.c      -- find paths for moving pieces
-       util.c     -- miscellaneous routines, especially I/O.
-
-Debugging notes:
-
-       From command mode, there are two special commands that
-       can be used to turn debugging mode on or off.  "++" turns
-       debugging mode on.  "+-" turns debugging mode off.
-
-       When debugging mode is turned on, the following commands are
-       available:
-
-       "#" -- display a sector of the computer's map.
-
-       "%" -- enter "movie" mode.  The computer continuously makes
-              moves, and the computer's map is shown on the screen.
-              This is useful for debugging the algorithm used by the
-              computer when it makes a move.  Don't confuse this
-              with saving a movie and replaying it.
-
-       "@" -- enable/disable "trace pathmap" mode.  If this command
-              is followed by a "+", trace pathmap mode is enabled.
-              If this command is followed by a "-", trace pathmap
-              mode is disabled.  In this mode, every time a "pathmap"
-              is created, it is displayed.  This is useful for
-              debugging the subroutines that search for an optimal
-              path along which to move a piece.
-
-       "$" -- enable/disable "print_debug".  This command is also
-              followed by either a "+" or "-".  In this mode,
-              various messages will be printed out at times which
-              may indicate that something is being done non-optimally.
-
-       "&" -- enable/disable "print_vmap".  This command is followed
-              by a char that specifies the type of vmap to be
-              displayed.  Values are
-
-               "a" -- army load maps
-               "l" -- transport load maps
-               "u" -- transport unload maps
-               "s" -- ship maps
-               "i" -- pruned explore map
-
-              Any other character disables the printing of vmaps.
-
-       The program will not provide any prompts for the debugging
-       commands.  If you make a mistake, the computer just beeps.
-
-       You can also replay a saved movie with the normal "W" command
-       when debugging mode is turned on.
+This code originated under VMS but has been forward-ported to
+modern ANSI C.  It is known to run not only on Linux but
+also under Windows and Mac OS X; all you need is a local
+port of the curses library.
 
-       Also, the -DDEBUG flag can be turned on to cause consistency
-       checking to be performed frequently on the internal database.
-       This consistency checking is fairly exhaustive and checks for
-       all sorts of screwed up pointers.  My measurements suggest
-       that consistency checking causes the program to run half
-       as fast.
+The files HACKING and BUGS will be of interest id you intend
+to modify this code.
 
+The ancestral code was by Chuck Simmons <chuck@amdahl.com>.  Since
+around 1990 it has been maintained by Eric S. Raymond <esr@thyrsus.com>