From: Eric S. Raymond Date: Thu, 1 Aug 2002 18:14:09 +0000 (+0000) Subject: Packaging improvements. X-Git-Tag: 1.4~2 X-Git-Url: http://thyrsus.com/gitweb/?a=commitdiff_plain;h=02c1339f9bdeb1b5e58ac25bd08547c8962985e7;p=vms-empire.git Packaging improvements. --- diff --git a/BUGS b/BUGS index 9fa2fbd..da98faa 100644 --- a/BUGS +++ b/BUGS @@ -80,6 +80,9 @@ faster than full blown curses. The curses routines that I use which are not part of minicurses are 'clrtoeol', 'getstr', and 'getch'. These seem pretty fundamental, but I know very little about curses. +ESR: This is hardly an issue at this point. Minicurses is dead, +and modern machines are *fast*. + 2) 'vmap_cont' and 'vmap_mark_up_cont' would almost certainly be faster if we didn't recurse, but instead used something like the perimeter lists used in all the other map scanning algorithms. diff --git a/Makefile b/Makefile index 18ab7e1..c6b7355 100644 --- a/Makefile +++ b/Makefile @@ -6,8 +6,7 @@ # See the file COPYING, distributed with empire, for restriction # and warranty information. -# Note: When the version changes, you also have to change -# the RPM spec file and the LSM. +# Note: When the version changes, you also have to change the RPM spec file. VERS=1.3 # Change the line below for your system. If you are on a Sun or Vax, @@ -86,17 +85,14 @@ clean: clobber: clean rm -f vms-empire vms-empire-*.tar* -SOURCES = READ.ME vms-empire.6 COPYING Makefile BUGS $(FILES) $(HEADERS) MANIFEST vms-empire.lsm vms-empire.spec +SOURCES = READ.ME vms-empire.6 COPYING Makefile BUGS AUTHORS $(FILES) $(HEADERS) MANIFEST vms-empire.spec -vms-empire-$(VERS).tar.gz: $(SOURCES) - @ls $(SOURCES) | sed s:^:vms-empire-$(VERS)/: >MANIFEST +vms-empire-$(VERS).tar.gz: $(SOURCES) vms-empire.6 + @ls $(SOURCES) vms-empire.6 | sed s:^:vms-empire-$(VERS)/: >MANIFEST @(cd ..; ln -s vms-empire vms-empire-$(VERS)) (cd ..; tar -czvf vms-empire/vms-empire-$(VERS).tar.gz `cat vms-empire/MANIFEST`) @(cd ..; rm vms-empire-$(VERS)) -vms-empire-$(VERS).shar: - shar $(SOURCES) >vms-empire-$(VERS).shar - dist: vms-empire-$(VERS).tar.gz RPMROOT=/usr/src/redhat diff --git a/README b/README index b772776..58d12ac 100644 --- a/README +++ b/README @@ -1,5 +1,3 @@ -/* (c) Copyright 1987, 1988 Chuck Simmons */ - /* * Copyright (C) 1987, 1988 Chuck Simmons * @@ -9,63 +7,14 @@ C Empire Sources (now called vms-empire). -Here's my change-log. - -1.3: Fri Apr 19 05:13:33 EDT 2002 - Walt Stoneburner's clenup patch addressing all compiler errors and - warnings, both in debug and in production mode; works with GCC v3.0.3. - -1.2: Fri Jul 28 01:10:00 EDT 2000 - The victory-odds table in previous versions was seriously buggy. - I folded in corrections from Michael Self. I also took changes - from James T. Jordan , who wrote some - speedups, added ANSI prototypes, and cleaned up code. -1.1: - I colorized and speed-tuned this and added a - save-interval option. - -The rest of this history is Chuck Simmons's original notes. - - -- Eric S. Raymond - -History - - Apparently, this game was originally written outside of Digital, - probably at a university. The game was ported to DEC's VAX/VMS - from the TOPS-10/20 FORTRAN sources available around fall 1979. - Ed James got hold of the sources at Berkeley and converted - portions of the code to C, mostly to use curses for the screen - handling. He published his modified sources on the net in - December 1986. Because this game ran on VMS machines for so - long, a previous version is known as VMS Empire. - - In early 1987 I reverse engineered the program and wrote a - version completely written in C. In doing this, I used lots - of structures and defined constants, and I attempted to make - the code flexible and easy to modify. The algorithms used - in this C version are completely new, the names of the commands - have been changed to be more mnemonic, and new commands have - been implemented. Only the format of the display is the same. - I suspect that many of my changes are slower and less - intelligently implemented than the originals. Also, I have - not implemented some of the original functionality. - However, my hope is that the commented C sources I have written - will prove far easier to modify and enhance than the original - FORTRAN sources. If you make changes for the better, by - all means send Ed James and I a copy. - - The basic game has been heavily modified. I've changed the - types of objects built, modified the parameters on others, - and added lots of new kinds of movement functions. Read - the man page for a complete description. - - The file 'bugs' contains lots of ideas for enhancements, - and describes the bugs I haven't been able to find. - -Organization - - I have attempted to organize the sources into relatively few - coherent pieces. The pieces are: +VMS-Empire is a simulation of a full-scale war between two +emperors, the computer and you. Naturally, there is only +room for one, so the object of the game is to destroy +the other. The computer plays by the same rules that you +do. This game is the ancestor of all the multiplayer Empire +simulations out there. + +Organization: empire.h -- definitions of data structures extern.h -- definitions of global variables @@ -84,7 +33,7 @@ Organization map.c -- find paths for moving pieces util.c -- miscellaneous routines, especially I/O. -Debugging notes +Debugging notes: From command mode, there are two special commands that can be used to turn debugging mode on or off. "++" turns @@ -139,48 +88,3 @@ Debugging notes that consistency checking causes the program to run half as fast. -Final Notes - - Unfortunately, I have a rather powerful mainframe at my - disposal which is somewhere between 10 and 40 times as - fast as a 68020 based computer. This means I can afford - to use extremely inefficient algorithms. I suspect that - running this program on a smaller machine, such as a Sun - workstation or Vax will not be overly rewarding. In particular, - the computer will take a very long time to move its pieces, - and it may not be desirable to save the game after every move. - (You mean your system doesn't write out 1/2 megabyte files in a - few milliseconds?) This second problem is easily fixed, but - I don't yet have any good ideas for fixing the first problem. - - The size of a saved file can be easily tuned by reducing the - LIST_SIZE constant in empire.h. The only current simple tweak - for making the computer move faster is to reduce the size - of a map. - -Chuck Simmons -amdahl!chuck - -Ed James -edjames@ic.berkeley.edu -ucbvax!edjames - - My changes enable color on machines with terminfo color support, for - a dramatic improvement in appearance and readability of the display. - Color support, if present, will be auto-detected at compilation time. - - They also implement and document a `save-interval' option, addressing - one of the misfeatures noted in the bugs file. - - I've also tweaked the sources so they compile clean under GCC -- they - assumed the older K&R model of forward reference, causing many warning - references. - - Finally, I've sped up expand_perimeter by cutting down on the - number of array references it has to compute. This eliminates several - multiplies from the inner loop, and is a technique that should be - applied much more widely in the code. - -Eric S. Raymond -esr@snark.thyrsus.com -(home page: //www.tuxedo.org/~esr/) diff --git a/vms-empire.spec b/vms-empire.spec index e5f0036..f0d4b43 100644 --- a/vms-empire.spec +++ b/vms-empire.spec @@ -1,13 +1,19 @@ Name: vms-empire Version: 1.3 Release: 1 -Source: locke.ccil.org:/pub/esr/vms-empire-1.3.tar.gz -Copyright: BSD-like +URL: http://www.tuxedo.org/~esr/vms-empire/ +Source: %{name}-%{version}.tar.gz +License: GPL-like Group: Games Summary: Solitaire Empire (sometimes called `VMS Empire') %description -Solitaire Empire (sometimes called `VMS Empire') +Empire is a simulation of a full-scale war between two +emperors, the computer and you. Naturally, there is only +room for one, so the object of the game is to destroy +the other. The computer plays by the same rules that you +do. This game is the ancestor of all the multiplayer Empire +simulations out there. %prep %setup @@ -22,3 +28,4 @@ cp vms-empire.6 /usr/share/man/man6/vms-empire.6 %files /usr/share/man/man6/vms-empire.6 /usr/bin/vms-empire +%doc READ.ME NEWS