Import of Empire 4.2.12 v4.2.12
authorMarkus Armbruster <armbru@pond.sub.org>
Sat, 23 Aug 2003 12:23:04 +0000 (12:23 +0000)
committerMarkus Armbruster <armbru@pond.sub.org>
Sat, 23 Aug 2003 12:23:04 +0000 (12:23 +0000)
817 files changed:
COPYING [new file with mode: 0644]
CREDITS [new file with mode: 0644]
LEGAL [new file with mode: 0644]
LICENSE [new file with mode: 0644]
Make.sysdefs [new file with mode: 0644]
Makefile [new file with mode: 0644]
README [new file with mode: 0644]
build.conf [new file with mode: 0644]
doc/CHANGES [new file with mode: 0644]
doc/CHANGES2.3 [new file with mode: 0644]
doc/CHANGES3.0 [new file with mode: 0644]
doc/CHANGES4.X [new file with mode: 0644]
doc/README [new file with mode: 0644]
doc/WACKY_IDEAS [new file with mode: 0644]
doc/WISH_LIST [new file with mode: 0644]
doc/backups [new file with mode: 0644]
doc/bug-reports [new file with mode: 0644]
doc/coding [new file with mode: 0644]
doc/compiling [new file with mode: 0644]
doc/configuration [new file with mode: 0644]
doc/debugging [new file with mode: 0644]
doc/disk_space [new file with mode: 0644]
doc/econfig [new file with mode: 0644]
doc/files [new file with mode: 0644]
doc/message [new file with mode: 0644]
doc/pthreads [new file with mode: 0644]
doc/threads [new file with mode: 0644]
doc/troubleshooting [new file with mode: 0644]
include/bit.h [new file with mode: 0644]
include/budg.h [new file with mode: 0644]
include/com.h [new file with mode: 0644]
include/combat.h [new file with mode: 0644]
include/commands.h [new file with mode: 0644]
include/commodity.h [new file with mode: 0644]
include/common.h [new file with mode: 0644]
include/damage.h [new file with mode: 0644]
include/deity.h [new file with mode: 0644]
include/distribute.h [new file with mode: 0644]
include/empio.h [new file with mode: 0644]
include/empthread.h [new file with mode: 0644]
include/event.h [new file with mode: 0644]
include/file.h [new file with mode: 0644]
include/gen.h [new file with mode: 0644]
include/genitem.h [new file with mode: 0644]
include/global.h [new file with mode: 0644]
include/io_mask.h [new file with mode: 0644]
include/ioqueue.h [new file with mode: 0644]
include/item.h [new file with mode: 0644]
include/keyword.h [new file with mode: 0644]
include/land.h [new file with mode: 0644]
include/loan.h [new file with mode: 0644]
include/lost.h [new file with mode: 0644]
include/lwp.h [new file with mode: 0644]
include/map.h [new file with mode: 0644]
include/match.h [new file with mode: 0644]
include/misc.h [new file with mode: 0644]
include/mission.h [new file with mode: 0644]
include/nat.h [new file with mode: 0644]
include/news.h [new file with mode: 0644]
include/nsc.h [new file with mode: 0644]
include/nuke.h [new file with mode: 0644]
include/options.h [new file with mode: 0644]
include/optlist.h [new file with mode: 0644]
include/path.h [new file with mode: 0644]
include/plane.h [new file with mode: 0644]
include/player.h [new file with mode: 0644]
include/power.h [new file with mode: 0644]
include/product.h [new file with mode: 0644]
include/proto.h [new file with mode: 0644]
include/prototype.h [new file with mode: 0644]
include/prototypes.h [new file with mode: 0644]
include/queue.h [new file with mode: 0644]
include/retreat.h [new file with mode: 0644]
include/sect.h [new file with mode: 0644]
include/ship.h [new file with mode: 0644]
include/struct.h [new file with mode: 0644]
include/subs.h [new file with mode: 0644]
include/tel.h [new file with mode: 0644]
include/trade.h [new file with mode: 0644]
include/treaty.h [new file with mode: 0644]
include/update.h [new file with mode: 0644]
include/user.h [new file with mode: 0644]
include/var.h [new file with mode: 0644]
include/version.h [new file with mode: 0644]
include/wantupd.h [new file with mode: 0644]
include/xy.h [new file with mode: 0644]
info/Blank.awk [new file with mode: 0644]
info/CRT.MAC [new file with mode: 0644]
info/Commands/MakeSrcs [new file with mode: 0644]
info/Commands/Makefile [new file with mode: 0644]
info/Commands/accept.t [new file with mode: 0644]
info/Commands/add.t [new file with mode: 0644]
info/Commands/announce.t [new file with mode: 0644]
info/Commands/anti.t [new file with mode: 0644]
info/Commands/apropos.t [new file with mode: 0644]
info/Commands/arm.t [new file with mode: 0644]
info/Commands/army.t [new file with mode: 0644]
info/Commands/assault.t [new file with mode: 0644]
info/Commands/attack.t [new file with mode: 0644]
info/Commands/bdes.t [new file with mode: 0644]
info/Commands/bestdistpath.t [new file with mode: 0644]
info/Commands/bestpath.t [new file with mode: 0644]
info/Commands/bmap.t [new file with mode: 0644]
info/Commands/board.t [new file with mode: 0644]
info/Commands/bomb.t [new file with mode: 0644]
info/Commands/break.t [new file with mode: 0644]
info/Commands/budget.t [new file with mode: 0644]
info/Commands/build.t [new file with mode: 0644]
info/Commands/buy.t [new file with mode: 0644]
info/Commands/bye.t [new file with mode: 0644]
info/Commands/capital.t [new file with mode: 0644]
info/Commands/cargo.t [new file with mode: 0644]
info/Commands/cede.t [new file with mode: 0644]
info/Commands/census.t [new file with mode: 0644]
info/Commands/change.t [new file with mode: 0644]
info/Commands/coastwatch.t [new file with mode: 0644]
info/Commands/collect.t [new file with mode: 0644]
info/Commands/commodity.t [new file with mode: 0644]
info/Commands/consider.t [new file with mode: 0644]
info/Commands/convert.t [new file with mode: 0644]
info/Commands/country.t [new file with mode: 0644]
info/Commands/cutoff.t [new file with mode: 0644]
info/Commands/declare.t [new file with mode: 0644]
info/Commands/deliver.t [new file with mode: 0644]
info/Commands/demobilize.t [new file with mode: 0644]
info/Commands/designate.t [new file with mode: 0644]
info/Commands/disable.t [new file with mode: 0644]
info/Commands/disarm.t [new file with mode: 0644]
info/Commands/dissolve.t [new file with mode: 0644]
info/Commands/distribute.t [new file with mode: 0644]
info/Commands/drop.t [new file with mode: 0644]
info/Commands/dump.t [new file with mode: 0644]
info/Commands/echo.t [new file with mode: 0644]
info/Commands/edit.t [new file with mode: 0644]
info/Commands/enable.t [new file with mode: 0644]
info/Commands/enlist.t [new file with mode: 0644]
info/Commands/execute.t [new file with mode: 0644]
info/Commands/explore.t [new file with mode: 0644]
info/Commands/financial.t [new file with mode: 0644]
info/Commands/fire.t [new file with mode: 0644]
info/Commands/flash.t [new file with mode: 0644]
info/Commands/fleetadd.t [new file with mode: 0644]
info/Commands/fly.t [new file with mode: 0644]
info/Commands/follow.t [new file with mode: 0644]
info/Commands/force.t [new file with mode: 0644]
info/Commands/fortify.t [new file with mode: 0644]
info/Commands/fuel.t [new file with mode: 0644]
info/Commands/give.t [new file with mode: 0644]
info/Commands/grind.t [new file with mode: 0644]
info/Commands/harden.t [new file with mode: 0644]
info/Commands/headlines.t [new file with mode: 0644]
info/Commands/hidden.t [new file with mode: 0644]
info/Commands/improve.t [new file with mode: 0644]
info/Commands/info.t [new file with mode: 0644]
info/Commands/land.t [new file with mode: 0644]
info/Commands/launch.t [new file with mode: 0644]
info/Commands/lboard.t [new file with mode: 0644]
info/Commands/lcargo.t [new file with mode: 0644]
info/Commands/ldump.t [new file with mode: 0644]
info/Commands/ledger.t [new file with mode: 0644]
info/Commands/level.t [new file with mode: 0644]
info/Commands/list.t [new file with mode: 0644]
info/Commands/lload.t [new file with mode: 0644]
info/Commands/llookout.t [new file with mode: 0644]
info/Commands/lmap.t [new file with mode: 0644]
info/Commands/lmine.t [new file with mode: 0644]
info/Commands/load.t [new file with mode: 0644]
info/Commands/lookout.t [new file with mode: 0644]
info/Commands/lost.t [new file with mode: 0644]
info/Commands/lradar.t [new file with mode: 0644]
info/Commands/lrange.t [new file with mode: 0644]
info/Commands/lretreat.t [new file with mode: 0644]
info/Commands/lstat.t [new file with mode: 0644]
info/Commands/ltend.t [new file with mode: 0644]
info/Commands/lunload.t [new file with mode: 0644]
info/Commands/map.t [new file with mode: 0644]
info/Commands/march.t [new file with mode: 0644]
info/Commands/market.t [new file with mode: 0644]
info/Commands/mine.t [new file with mode: 0644]
info/Commands/mission.t [new file with mode: 0644]
info/Commands/mobupdate.t [new file with mode: 0644]
info/Commands/morale.t [new file with mode: 0644]
info/Commands/motd.t [new file with mode: 0644]
info/Commands/move.t [new file with mode: 0644]
info/Commands/mquota.t [new file with mode: 0644]
info/Commands/mult.t [new file with mode: 0644]
info/Commands/name.t [new file with mode: 0644]
info/Commands/nation.t [new file with mode: 0644]
info/Commands/navigate.t [new file with mode: 0644]
info/Commands/ndump.t [new file with mode: 0644]
info/Commands/newcap.t [new file with mode: 0644]
info/Commands/neweff.t [new file with mode: 0644]
info/Commands/newspaper.t [new file with mode: 0644]
info/Commands/nmap.t [new file with mode: 0644]
info/Commands/nuke.t [new file with mode: 0644]
info/Commands/offer.t [new file with mode: 0644]
info/Commands/offset.t [new file with mode: 0644]
info/Commands/order.t [new file with mode: 0644]
info/Commands/origin.t [new file with mode: 0644]
info/Commands/paradrop.t [new file with mode: 0644]
info/Commands/path.t [new file with mode: 0644]
info/Commands/payoff.t [new file with mode: 0644]
info/Commands/pboard.t [new file with mode: 0644]
info/Commands/pdump.t [new file with mode: 0644]
info/Commands/plane.t [new file with mode: 0644]
info/Commands/players.t [new file with mode: 0644]
info/Commands/pmap.t [new file with mode: 0644]
info/Commands/power.t [new file with mode: 0644]
info/Commands/pray.t [new file with mode: 0644]
info/Commands/production.t [new file with mode: 0644]
info/Commands/pstat.t [new file with mode: 0644]
info/Commands/qorder.t [new file with mode: 0644]
info/Commands/quit.t [new file with mode: 0644]
info/Commands/radar.t [new file with mode: 0644]
info/Commands/range.t [new file with mode: 0644]
info/Commands/read.t [new file with mode: 0644]
info/Commands/realm.t [new file with mode: 0644]
info/Commands/recon.t [new file with mode: 0644]
info/Commands/reject.t [new file with mode: 0644]
info/Commands/relations.t [new file with mode: 0644]
info/Commands/repay.t [new file with mode: 0644]
info/Commands/report.t [new file with mode: 0644]
info/Commands/reset.t [new file with mode: 0644]
info/Commands/resource.t [new file with mode: 0644]
info/Commands/retreat.t [new file with mode: 0644]
info/Commands/route.t [new file with mode: 0644]
info/Commands/sabotage.t [new file with mode: 0644]
info/Commands/sail.t [new file with mode: 0644]
info/Commands/satellite.t [new file with mode: 0644]
info/Commands/scrap.t [new file with mode: 0644]
info/Commands/scuttle.t [new file with mode: 0644]
info/Commands/sdump.t [new file with mode: 0644]
info/Commands/sect.t [new file with mode: 0644]
info/Commands/sell.t [new file with mode: 0644]
info/Commands/set.t [new file with mode: 0644]
info/Commands/setresource.t [new file with mode: 0644]
info/Commands/setsector.t [new file with mode: 0644]
info/Commands/sharebmap.t [new file with mode: 0644]
info/Commands/shark.t [new file with mode: 0644]
info/Commands/ship.t [new file with mode: 0644]
info/Commands/shoot.t [new file with mode: 0644]
info/Commands/show.t [new file with mode: 0644]
info/Commands/shutdown.t [new file with mode: 0644]
info/Commands/sinfrastructure.t [new file with mode: 0644]
info/Commands/skywatch.t [new file with mode: 0644]
info/Commands/smap.t [new file with mode: 0644]
info/Commands/sonar.t [new file with mode: 0644]
info/Commands/sorder.t [new file with mode: 0644]
info/Commands/spy.t [new file with mode: 0644]
info/Commands/sstat.t [new file with mode: 0644]
info/Commands/start.t [new file with mode: 0644]
info/Commands/starvation.t [new file with mode: 0644]
info/Commands/stop.t [new file with mode: 0644]
info/Commands/strength.t [new file with mode: 0644]
info/Commands/supply.t [new file with mode: 0644]
info/Commands/survey.t [new file with mode: 0644]
info/Commands/swapsector.t [new file with mode: 0644]
info/Commands/sweep.t [new file with mode: 0644]
info/Commands/telegram.t [new file with mode: 0644]
info/Commands/tend.t [new file with mode: 0644]
info/Commands/territory.t [new file with mode: 0644]
info/Commands/test.t [new file with mode: 0644]
info/Commands/threshold.t [new file with mode: 0644]
info/Commands/toggle.t [new file with mode: 0644]
info/Commands/torpedo.t [new file with mode: 0644]
info/Commands/trade.t [new file with mode: 0644]
info/Commands/transport.t [new file with mode: 0644]
info/Commands/treaty.t [new file with mode: 0644]
info/Commands/turn.t [new file with mode: 0644]
info/Commands/unload.t [new file with mode: 0644]
info/Commands/unsail.t [new file with mode: 0644]
info/Commands/update.t [new file with mode: 0644]
info/Commands/upgrade.t [new file with mode: 0644]
info/Commands/version.t [new file with mode: 0644]
info/Commands/wait.t [new file with mode: 0644]
info/Commands/wall.t [new file with mode: 0644]
info/Commands/wingadd.t [new file with mode: 0644]
info/Commands/wipe.t [new file with mode: 0644]
info/Commands/wire.t [new file with mode: 0644]
info/Commands/work.t [new file with mode: 0644]
info/Commands/zdone.t [new file with mode: 0644]
info/Concepts/Attack.t [new file with mode: 0644]
info/Concepts/Autofeed.t [new file with mode: 0644]
info/Concepts/Autonav.t [new file with mode: 0644]
info/Concepts/BTU.t [new file with mode: 0644]
info/Concepts/Bridges.t [new file with mode: 0644]
info/Concepts/Citizens.t [new file with mode: 0644]
info/Concepts/Damage.t [new file with mode: 0644]
info/Concepts/Education.t [new file with mode: 0644]
info/Concepts/Fallout.t [new file with mode: 0644]
info/Concepts/Flak.t [new file with mode: 0644]
info/Concepts/Food.t [new file with mode: 0644]
info/Concepts/Guerrilla.t [new file with mode: 0644]
info/Concepts/Happiness.t [new file with mode: 0644]
info/Concepts/Hitchance.t [new file with mode: 0644]
info/Concepts/Infrastructure.t [new file with mode: 0644]
info/Concepts/Innards.t [new file with mode: 0644]
info/Concepts/Interception.t [new file with mode: 0644]
info/Concepts/Land-units.t [new file with mode: 0644]
info/Concepts/Maintenance.t [new file with mode: 0644]
info/Concepts/MakeSrcs [new file with mode: 0644]
info/Concepts/Makefile [new file with mode: 0644]
info/Concepts/Mobility.t [new file with mode: 0644]
info/Concepts/Move.t [new file with mode: 0644]
info/Concepts/Nuke-types.t [new file with mode: 0644]
info/Concepts/Plague.t [new file with mode: 0644]
info/Concepts/Plane-types.t [new file with mode: 0644]
info/Concepts/Products.t [new file with mode: 0644]
info/Concepts/Quick-ref.t [new file with mode: 0644]
info/Concepts/Research.t [new file with mode: 0644]
info/Concepts/Sector-ownership.t [new file with mode: 0644]
info/Concepts/Sector-types.t [new file with mode: 0644]
info/Concepts/Selector.t [new file with mode: 0644]
info/Concepts/Ship-types.t [new file with mode: 0644]
info/Concepts/Spies.t [new file with mode: 0644]
info/Concepts/Syntax.t [new file with mode: 0644]
info/Concepts/Taxes.t [new file with mode: 0644]
info/Concepts/Technology.t [new file with mode: 0644]
info/Concepts/Time.t [new file with mode: 0644]
info/Concepts/Trade-ships.t [new file with mode: 0644]
info/Concepts/Unit-types.t [new file with mode: 0644]
info/Concepts/Update-sequence.t [new file with mode: 0644]
info/INFO.MAC [new file with mode: 0644]
info/Introduction/Basics.t [new file with mode: 0644]
info/Introduction/Clients.t [new file with mode: 0644]
info/Introduction/Expert.t [new file with mode: 0644]
info/Introduction/Guide.t [new file with mode: 0644]
info/Introduction/Hints.t [new file with mode: 0644]
info/Introduction/Kill.t [new file with mode: 0644]
info/Introduction/MakeSrcs [new file with mode: 0644]
info/Introduction/Makefile [new file with mode: 0644]
info/Introduction/Novice.t [new file with mode: 0644]
info/Introduction/Overview.t [new file with mode: 0644]
info/Introduction/Suggestions.t [new file with mode: 0644]
info/Makefile [new file with mode: 0644]
info/README [new file with mode: 0644]
info/Server/Bugs.t [new file with mode: 0644]
info/Server/CHANGES.CHAINSAW.t [new file with mode: 0644]
info/Server/Empire2.t [new file with mode: 0644]
info/Server/Empire3.t [new file with mode: 0644]
info/Server/Empire4.t [new file with mode: 0644]
info/Server/God.t [new file with mode: 0644]
info/Server/Hidden.t [new file with mode: 0644]
info/Server/History.t [new file with mode: 0644]
info/Server/MakeSrcs [new file with mode: 0644]
info/Server/Makefile [new file with mode: 0644]
info/Server/Merc.t [new file with mode: 0644]
info/Server/Old-empire.t [new file with mode: 0644]
info/Server/Options.t [new file with mode: 0644]
info/Server/Wolfpack.t [new file with mode: 0644]
info/Subjects/MakeSrcs [new file with mode: 0644]
info/Subjects/Makefile [new file with mode: 0644]
info/TROFF.MAC [new file with mode: 0644]
info/checklist.pl [new file with mode: 0644]
info/deity.list [new file with mode: 0644]
info/emp2html.pl [new file with mode: 0644]
info/info.pl [new file with mode: 0644]
info/ls2html.pl [new file with mode: 0644]
info/player.list [new file with mode: 0644]
info/subj2html.pl [new file with mode: 0644]
man/emp_client.6 [new file with mode: 0644]
man/emp_server.6 [new file with mode: 0644]
man/fairland.1 [new file with mode: 0644]
man/files.1 [new file with mode: 0644]
man/land.1 [new file with mode: 0644]
man/ore.1 [new file with mode: 0644]
man/pconfig.1 [new file with mode: 0644]
man/perfect.1 [new file with mode: 0644]
scripts/README [new file with mode: 0644]
scripts/bigstart [new file with mode: 0644]
scripts/blitz/README [new file with mode: 0644]
scripts/blitz/crontab.config [new file with mode: 0644]
scripts/blitz/motd [new file with mode: 0644]
scripts/blitz/setup-blitz [new file with mode: 0644]
scripts/blitz/start-blitz [new file with mode: 0644]
scripts/crontab.config [new file with mode: 0644]
scripts/keepitup [new file with mode: 0644]
scripts/mapper/Makefile [new file with mode: 0644]
scripts/mapper/README [new file with mode: 0644]
scripts/mapper/archive.pl [new file with mode: 0644]
scripts/mapper/cleanup [new file with mode: 0644]
scripts/mapper/crontab.config [new file with mode: 0644]
scripts/mapper/default.param [new file with mode: 0644]
scripts/mapper/makeframe [new file with mode: 0644]
scripts/mapper/makempeg [new file with mode: 0644]
scripts/mapper/map.param [new file with mode: 0644]
scripts/mapper/mapper [new file with mode: 0644]
scripts/mapper/over.awk [new file with mode: 0644]
scripts/mapper/over2.pbm [new file with mode: 0644]
scripts/mapper/param.pl [new file with mode: 0644]
scripts/mapper/pgmmap.awk [new file with mode: 0644]
scripts/mapper/randppm.awk [new file with mode: 0644]
scripts/mapper/text.pbm [new file with mode: 0644]
scripts/mapper/text.size [new file with mode: 0644]
scripts/postresults [new file with mode: 0644]
scripts/saveass [new file with mode: 0644]
src/client/Makefile [new file with mode: 0644]
src/client/Makefile.server [new file with mode: 0644]
src/client/Makefile.standalone [new file with mode: 0644]
src/client/README [new file with mode: 0644]
src/client/bit.c [new file with mode: 0644]
src/client/bit.h [new file with mode: 0644]
src/client/dtable.c [new file with mode: 0644]
src/client/empire.6 [new file with mode: 0644]
src/client/expect.c [new file with mode: 0644]
src/client/fnlist.h [new file with mode: 0644]
src/client/globals.c [new file with mode: 0644]
src/client/h.h [new file with mode: 0644]
src/client/handle.c [new file with mode: 0644]
src/client/host.c [new file with mode: 0644]
src/client/hpux.c [new file with mode: 0644]
src/client/ioqueue.c [new file with mode: 0644]
src/client/ioqueue.h [new file with mode: 0644]
src/client/login.c [new file with mode: 0644]
src/client/main.c [new file with mode: 0644]
src/client/misc.h [new file with mode: 0644]
src/client/proto.h [new file with mode: 0644]
src/client/queue.c [new file with mode: 0644]
src/client/queue.h [new file with mode: 0644]
src/client/saveargv.c [new file with mode: 0644]
src/client/servcmd.c [new file with mode: 0644]
src/client/serverio.c [new file with mode: 0644]
src/client/tags.c [new file with mode: 0644]
src/client/tags.h [new file with mode: 0644]
src/client/termio.c [new file with mode: 0644]
src/client/termlib.c [new file with mode: 0644]
src/doconfig/Makefile [new file with mode: 0644]
src/doconfig/doconfig.c [new file with mode: 0644]
src/lib/as/COPYRIGHT [new file with mode: 0644]
src/lib/as/Makefile [new file with mode: 0644]
src/lib/as/README [new file with mode: 0644]
src/lib/as/as.h [new file with mode: 0644]
src/lib/as/as_cache.c [new file with mode: 0644]
src/lib/as/as_costcomp.c [new file with mode: 0644]
src/lib/as/as_delete.c [new file with mode: 0644]
src/lib/as/as_extend.c [new file with mode: 0644]
src/lib/as/as_hash.c [new file with mode: 0644]
src/lib/as/as_init.c [new file with mode: 0644]
src/lib/as/as_merge.c [new file with mode: 0644]
src/lib/as/as_search.c [new file with mode: 0644]
src/lib/as/as_stats.c [new file with mode: 0644]
src/lib/as/as_winnow.c [new file with mode: 0644]
src/lib/commands/Makefile [new file with mode: 0644]
src/lib/commands/acce.c [new file with mode: 0644]
src/lib/commands/add.c [new file with mode: 0644]
src/lib/commands/anti.c [new file with mode: 0644]
src/lib/commands/arm.c [new file with mode: 0644]
src/lib/commands/army.c [new file with mode: 0644]
src/lib/commands/assa.c [new file with mode: 0644]
src/lib/commands/atta.c [new file with mode: 0644]
src/lib/commands/bdes.c [new file with mode: 0644]
src/lib/commands/best.c [new file with mode: 0644]
src/lib/commands/boar.c [new file with mode: 0644]
src/lib/commands/bomb.c [new file with mode: 0644]
src/lib/commands/brea.c [new file with mode: 0644]
src/lib/commands/budg.c [new file with mode: 0644]
src/lib/commands/buil.c [new file with mode: 0644]
src/lib/commands/buy.c [new file with mode: 0644]
src/lib/commands/capi.c [new file with mode: 0644]
src/lib/commands/carg.c [new file with mode: 0644]
src/lib/commands/cede.c [new file with mode: 0644]
src/lib/commands/cens.c [new file with mode: 0644]
src/lib/commands/chan.c [new file with mode: 0644]
src/lib/commands/coas.c [new file with mode: 0644]
src/lib/commands/coll.c [new file with mode: 0644]
src/lib/commands/comm.c [new file with mode: 0644]
src/lib/commands/cons.c [new file with mode: 0644]
src/lib/commands/conv.c [new file with mode: 0644]
src/lib/commands/coun.c [new file with mode: 0644]
src/lib/commands/cuto.c [new file with mode: 0644]
src/lib/commands/decl.c [new file with mode: 0644]
src/lib/commands/deli.c [new file with mode: 0644]
src/lib/commands/demo.c [new file with mode: 0644]
src/lib/commands/desi.c [new file with mode: 0644]
src/lib/commands/disa.c [new file with mode: 0644]
src/lib/commands/diss.c [new file with mode: 0644]
src/lib/commands/dist.c [new file with mode: 0644]
src/lib/commands/drop.c [new file with mode: 0644]
src/lib/commands/dump.c [new file with mode: 0644]
src/lib/commands/echo.c [new file with mode: 0644]
src/lib/commands/edit.c [new file with mode: 0644]
src/lib/commands/enab.c [new file with mode: 0644]
src/lib/commands/enli.c [new file with mode: 0644]
src/lib/commands/expl.c [new file with mode: 0644]
src/lib/commands/fina.c [new file with mode: 0644]
src/lib/commands/flash.c [new file with mode: 0644]
src/lib/commands/flee.c [new file with mode: 0644]
src/lib/commands/fly.c [new file with mode: 0644]
src/lib/commands/foll.c [new file with mode: 0644]
src/lib/commands/forc.c [new file with mode: 0644]
src/lib/commands/fort.c [new file with mode: 0644]
src/lib/commands/fuel.c [new file with mode: 0644]
src/lib/commands/give.c [new file with mode: 0644]
src/lib/commands/grin.c [new file with mode: 0644]
src/lib/commands/hard.c [new file with mode: 0644]
src/lib/commands/head.c [new file with mode: 0644]
src/lib/commands/hidd.c [new file with mode: 0644]
src/lib/commands/improve.c [new file with mode: 0644]
src/lib/commands/info.c [new file with mode: 0644]
src/lib/commands/land.c [new file with mode: 0644]
src/lib/commands/laun.c [new file with mode: 0644]
src/lib/commands/lboard.c [new file with mode: 0644]
src/lib/commands/ldump.c [new file with mode: 0644]
src/lib/commands/ledg.c [new file with mode: 0644]
src/lib/commands/leve.c [new file with mode: 0644]
src/lib/commands/load.c [new file with mode: 0644]
src/lib/commands/look.c [new file with mode: 0644]
src/lib/commands/lost.c [new file with mode: 0644]
src/lib/commands/lstat.c [new file with mode: 0644]
src/lib/commands/lten.c [new file with mode: 0644]
src/lib/commands/map.c [new file with mode: 0644]
src/lib/commands/marc.c [new file with mode: 0644]
src/lib/commands/mark.c [new file with mode: 0644]
src/lib/commands/mfir.c [new file with mode: 0644]
src/lib/commands/mine.c [new file with mode: 0644]
src/lib/commands/miss.c [new file with mode: 0644]
src/lib/commands/mobq.c [new file with mode: 0644]
src/lib/commands/mobu.c [new file with mode: 0644]
src/lib/commands/mora.c [new file with mode: 0644]
src/lib/commands/move.c [new file with mode: 0644]
src/lib/commands/mult.c [new file with mode: 0644]
src/lib/commands/name.c [new file with mode: 0644]
src/lib/commands/nati.c [new file with mode: 0644]
src/lib/commands/navi.c [new file with mode: 0644]
src/lib/commands/ndump.c [new file with mode: 0644]
src/lib/commands/new.c [new file with mode: 0644]
src/lib/commands/newe.c [new file with mode: 0644]
src/lib/commands/news.c [new file with mode: 0644]
src/lib/commands/nuke.c [new file with mode: 0644]
src/lib/commands/offe.c [new file with mode: 0644]
src/lib/commands/offs.c [new file with mode: 0644]
src/lib/commands/orde.c [new file with mode: 0644]
src/lib/commands/orig.c [new file with mode: 0644]
src/lib/commands/para.c [new file with mode: 0644]
src/lib/commands/path.c [new file with mode: 0644]
src/lib/commands/payo.c [new file with mode: 0644]
src/lib/commands/pboa.c [new file with mode: 0644]
src/lib/commands/pdump.c [new file with mode: 0644]
src/lib/commands/plan.c [new file with mode: 0644]
src/lib/commands/play.c [new file with mode: 0644]
src/lib/commands/powe.c [new file with mode: 0644]
src/lib/commands/prod.c [new file with mode: 0644]
src/lib/commands/pstat.c [new file with mode: 0644]
src/lib/commands/rada.c [new file with mode: 0644]
src/lib/commands/rang.c [new file with mode: 0644]
src/lib/commands/rea.c [new file with mode: 0644]
src/lib/commands/real.c [new file with mode: 0644]
src/lib/commands/reco.c [new file with mode: 0644]
src/lib/commands/reje.c [new file with mode: 0644]
src/lib/commands/rela.c [new file with mode: 0644]
src/lib/commands/repa.c [new file with mode: 0644]
src/lib/commands/repo.c [new file with mode: 0644]
src/lib/commands/rese.c [new file with mode: 0644]
src/lib/commands/reso.c [new file with mode: 0644]
src/lib/commands/retr.c [new file with mode: 0644]
src/lib/commands/rout.c [new file with mode: 0644]
src/lib/commands/sabo.c [new file with mode: 0644]
src/lib/commands/sail.c [new file with mode: 0644]
src/lib/commands/sate.c [new file with mode: 0644]
src/lib/commands/scra.c [new file with mode: 0644]
src/lib/commands/scut.c [new file with mode: 0644]
src/lib/commands/sdump.c [new file with mode: 0644]
src/lib/commands/sect.c [new file with mode: 0644]
src/lib/commands/sell.c [new file with mode: 0644]
src/lib/commands/set.c [new file with mode: 0644]
src/lib/commands/setres.c [new file with mode: 0644]
src/lib/commands/setsect.c [new file with mode: 0644]
src/lib/commands/shar.c [new file with mode: 0644]
src/lib/commands/shark.c [new file with mode: 0644]
src/lib/commands/shi.c [new file with mode: 0644]
src/lib/commands/shoo.c [new file with mode: 0644]
src/lib/commands/show.c [new file with mode: 0644]
src/lib/commands/shut.c [new file with mode: 0644]
src/lib/commands/sinf.c [new file with mode: 0644]
src/lib/commands/skyw.c [new file with mode: 0644]
src/lib/commands/sona.c [new file with mode: 0644]
src/lib/commands/spy.c [new file with mode: 0644]
src/lib/commands/sstat.c [new file with mode: 0644]
src/lib/commands/star.c [new file with mode: 0644]
src/lib/commands/stop.c [new file with mode: 0644]
src/lib/commands/stre.c [new file with mode: 0644]
src/lib/commands/strv.c [new file with mode: 0644]
src/lib/commands/supp.c [new file with mode: 0644]
src/lib/commands/surv.c [new file with mode: 0644]
src/lib/commands/swap.c [new file with mode: 0644]
src/lib/commands/tele.c [new file with mode: 0644]
src/lib/commands/tend.c [new file with mode: 0644]
src/lib/commands/terr.c [new file with mode: 0644]
src/lib/commands/thre.c [new file with mode: 0644]
src/lib/commands/togg.c [new file with mode: 0644]
src/lib/commands/torp.c [new file with mode: 0644]
src/lib/commands/trad.c [new file with mode: 0644]
src/lib/commands/tran.c [new file with mode: 0644]
src/lib/commands/trea.c [new file with mode: 0644]
src/lib/commands/turn.c [new file with mode: 0644]
src/lib/commands/upda.c [new file with mode: 0644]
src/lib/commands/upgr.c [new file with mode: 0644]
src/lib/commands/vers.c [new file with mode: 0644]
src/lib/commands/wai.c [new file with mode: 0644]
src/lib/commands/wing.c [new file with mode: 0644]
src/lib/commands/wipe.c [new file with mode: 0644]
src/lib/commands/work.c [new file with mode: 0644]
src/lib/commands/zdon.c [new file with mode: 0644]
src/lib/common/Makefile [new file with mode: 0644]
src/lib/common/bestpath.c [new file with mode: 0644]
src/lib/common/bridgefall.c [new file with mode: 0644]
src/lib/common/check.c [new file with mode: 0644]
src/lib/common/damage.c [new file with mode: 0644]
src/lib/common/file.c [new file with mode: 0644]
src/lib/common/fsize.c [new file with mode: 0644]
src/lib/common/getvar.c [new file with mode: 0644]
src/lib/common/hap_fact.c [new file with mode: 0644]
src/lib/common/hours.c [new file with mode: 0644]
src/lib/common/keyword.c [new file with mode: 0644]
src/lib/common/land.c [new file with mode: 0644]
src/lib/common/log.c [new file with mode: 0644]
src/lib/common/mailbox.c [new file with mode: 0644]
src/lib/common/maps.c [new file with mode: 0644]
src/lib/common/move.c [new file with mode: 0644]
src/lib/common/nat.c [new file with mode: 0644]
src/lib/common/nstr_subs.c [new file with mode: 0644]
src/lib/common/path.c [new file with mode: 0644]
src/lib/common/res_pop.c [new file with mode: 0644]
src/lib/common/sectdamage.c [new file with mode: 0644]
src/lib/common/snxtit_subs.c [new file with mode: 0644]
src/lib/common/snxtsct_subs.c [new file with mode: 0644]
src/lib/common/stmtch.c [new file with mode: 0644]
src/lib/common/tfact.c [new file with mode: 0644]
src/lib/common/type.c [new file with mode: 0644]
src/lib/common/vlist.c [new file with mode: 0644]
src/lib/common/wantupd.c [new file with mode: 0644]
src/lib/common/xy.c [new file with mode: 0644]
src/lib/empthread/Makefile [new file with mode: 0644]
src/lib/empthread/lwp.c [new file with mode: 0644]
src/lib/empthread/ntthread.c [new file with mode: 0644]
src/lib/empthread/pthread.c [new file with mode: 0644]
src/lib/gen/Makefile [new file with mode: 0644]
src/lib/gen/atoip.c [new file with mode: 0644]
src/lib/gen/atopi.c [new file with mode: 0644]
src/lib/gen/bit.c [new file with mode: 0644]
src/lib/gen/chance.c [new file with mode: 0644]
src/lib/gen/copy.c [new file with mode: 0644]
src/lib/gen/disassoc.c [new file with mode: 0644]
src/lib/gen/dtable.c [new file with mode: 0644]
src/lib/gen/emp_config.c [new file with mode: 0644]
src/lib/gen/getstarg.c [new file with mode: 0644]
src/lib/gen/getstring.c [new file with mode: 0644]
src/lib/gen/hpux.c [new file with mode: 0644]
src/lib/gen/iceil.c [new file with mode: 0644]
src/lib/gen/inet.c [new file with mode: 0644]
src/lib/gen/io.c [new file with mode: 0644]
src/lib/gen/io_mask.c [new file with mode: 0644]
src/lib/gen/ioqueue.c [new file with mode: 0644]
src/lib/gen/lock.c [new file with mode: 0644]
src/lib/gen/mapdist.c [new file with mode: 0644]
src/lib/gen/minmax.c [new file with mode: 0644]
src/lib/gen/numstr.c [new file with mode: 0644]
src/lib/gen/onearg.c [new file with mode: 0644]
src/lib/gen/parse.c [new file with mode: 0644]
src/lib/gen/plur.c [new file with mode: 0644]
src/lib/gen/queue.c [new file with mode: 0644]
src/lib/gen/round.c [new file with mode: 0644]
src/lib/gen/same.c [new file with mode: 0644]
src/lib/gen/scthash.c [new file with mode: 0644]
src/lib/gen/signal.c [new file with mode: 0644]
src/lib/gen/strdup.c [new file with mode: 0644]
src/lib/gen/strscan.c [new file with mode: 0644]
src/lib/gen/vsprintf.c [new file with mode: 0644]
src/lib/global/Makefile [new file with mode: 0644]
src/lib/global/constants.c [new file with mode: 0644]
src/lib/global/dir.c [new file with mode: 0644]
src/lib/global/file.c [new file with mode: 0644]
src/lib/global/init.c [new file with mode: 0644]
src/lib/global/item.c [new file with mode: 0644]
src/lib/global/land.c [new file with mode: 0644]
src/lib/global/misc.c [new file with mode: 0644]
src/lib/global/news.c [new file with mode: 0644]
src/lib/global/nsc.c [new file with mode: 0644]
src/lib/global/nuke.c [new file with mode: 0644]
src/lib/global/numnames.c [new file with mode: 0644]
src/lib/global/options.c [new file with mode: 0644]
src/lib/global/path.c [new file with mode: 0644]
src/lib/global/plane.c [new file with mode: 0644]
src/lib/global/product.c [new file with mode: 0644]
src/lib/global/sect.c [new file with mode: 0644]
src/lib/global/ship.c [new file with mode: 0644]
src/lib/global/treaty.c [new file with mode: 0644]
src/lib/lwp/Makefile [new file with mode: 0644]
src/lib/lwp/arch.c [new file with mode: 0644]
src/lib/lwp/lwp.c [new file with mode: 0644]
src/lib/lwp/lwpInit.s [new file with mode: 0644]
src/lib/lwp/lwpRestore.s [new file with mode: 0644]
src/lib/lwp/lwpSave.s [new file with mode: 0644]
src/lib/lwp/lwpint.h [new file with mode: 0644]
src/lib/lwp/mipsarch.s [new file with mode: 0644]
src/lib/lwp/misc/echo.c [new file with mode: 0644]
src/lib/lwp/misc/lwp.h [new file with mode: 0644]
src/lib/lwp/misc/lwp.tar.gz [new file with mode: 0644]
src/lib/lwp/misc/lwp.tex [new file with mode: 0644]
src/lib/lwp/queue.c [new file with mode: 0644]
src/lib/lwp/sel.c [new file with mode: 0644]
src/lib/lwp/sem.c [new file with mode: 0644]
src/lib/lwp/status.c [new file with mode: 0644]
src/lib/player/Makefile [new file with mode: 0644]
src/lib/player/accept.c [new file with mode: 0644]
src/lib/player/dispatch.c [new file with mode: 0644]
src/lib/player/empdis.c [new file with mode: 0644]
src/lib/player/empmod.c [new file with mode: 0644]
src/lib/player/init_nats.c [new file with mode: 0644]
src/lib/player/login.c [new file with mode: 0644]
src/lib/player/nat.c [new file with mode: 0644]
src/lib/player/player.c [new file with mode: 0644]
src/lib/player/recvclient.c [new file with mode: 0644]
src/lib/subs/Makefile [new file with mode: 0644]
src/lib/subs/aircombat.c [new file with mode: 0644]
src/lib/subs/askyn.c [new file with mode: 0644]
src/lib/subs/aswplnsubs.c [new file with mode: 0644]
src/lib/subs/attsub.c [new file with mode: 0644]
src/lib/subs/bigmap.c [new file with mode: 0644]
src/lib/subs/border.c [new file with mode: 0644]
src/lib/subs/bsanct.c [new file with mode: 0644]
src/lib/subs/caploss.c [new file with mode: 0644]
src/lib/subs/chkmoney.c [new file with mode: 0644]
src/lib/subs/cnumb.c [new file with mode: 0644]
src/lib/subs/comsub.c [new file with mode: 0644]
src/lib/subs/control.c [new file with mode: 0644]
src/lib/subs/detonate.c [new file with mode: 0644]
src/lib/subs/disloan.c [new file with mode: 0644]
src/lib/subs/distrea.c [new file with mode: 0644]
src/lib/subs/fileinit.c [new file with mode: 0644]
src/lib/subs/fortdef.c [new file with mode: 0644]
src/lib/subs/getbit.c [new file with mode: 0644]
src/lib/subs/getele.c [new file with mode: 0644]
src/lib/subs/land.c [new file with mode: 0644]
src/lib/subs/landgun.c [new file with mode: 0644]
src/lib/subs/list.c [new file with mode: 0644]
src/lib/subs/lndsub.c [new file with mode: 0644]
src/lib/subs/lostsub.c [new file with mode: 0644]
src/lib/subs/mission.c [new file with mode: 0644]
src/lib/subs/move.c [new file with mode: 0644]
src/lib/subs/mslsub.c [new file with mode: 0644]
src/lib/subs/mtch.c [new file with mode: 0644]
src/lib/subs/natarg.c [new file with mode: 0644]
src/lib/subs/neigh.c [new file with mode: 0644]
src/lib/subs/nreport.c [new file with mode: 0644]
src/lib/subs/nstr.c [new file with mode: 0644]
src/lib/subs/nuke.c [new file with mode: 0644]
src/lib/subs/nxtitem.c [new file with mode: 0644]
src/lib/subs/nxtsct.c [new file with mode: 0644]
src/lib/subs/paths.c [new file with mode: 0644]
src/lib/subs/plane.c [new file with mode: 0644]
src/lib/subs/plnsub.c [new file with mode: 0644]
src/lib/subs/pr.c [new file with mode: 0644]
src/lib/subs/radmap.c [new file with mode: 0644]
src/lib/subs/rej.c [new file with mode: 0644]
src/lib/subs/retreat.c [new file with mode: 0644]
src/lib/subs/sarg.c [new file with mode: 0644]
src/lib/subs/satmap.c [new file with mode: 0644]
src/lib/subs/sect.c [new file with mode: 0644]
src/lib/subs/ship.c [new file with mode: 0644]
src/lib/subs/show.c [new file with mode: 0644]
src/lib/subs/shpsub.c [new file with mode: 0644]
src/lib/subs/snxtitem.c [new file with mode: 0644]
src/lib/subs/snxtsct.c [new file with mode: 0644]
src/lib/subs/supply.c [new file with mode: 0644]
src/lib/subs/takeover.c [new file with mode: 0644]
src/lib/subs/trdsub.c [new file with mode: 0644]
src/lib/subs/trechk.c [new file with mode: 0644]
src/lib/subs/whatitem.c [new file with mode: 0644]
src/lib/subs/wire.c [new file with mode: 0644]
src/lib/subs/wu.c [new file with mode: 0644]
src/lib/update/Makefile [new file with mode: 0644]
src/lib/update/age.c [new file with mode: 0644]
src/lib/update/anno.c [new file with mode: 0644]
src/lib/update/bp.c [new file with mode: 0644]
src/lib/update/deliver.c [new file with mode: 0644]
src/lib/update/distribute.c [new file with mode: 0644]
src/lib/update/finish.c [new file with mode: 0644]
src/lib/update/human.c [new file with mode: 0644]
src/lib/update/land.c [new file with mode: 0644]
src/lib/update/main.c [new file with mode: 0644]
src/lib/update/material.c [new file with mode: 0644]
src/lib/update/mobility.c [new file with mode: 0644]
src/lib/update/move_sat.c [new file with mode: 0644]
src/lib/update/nat.c [new file with mode: 0644]
src/lib/update/nav_ship.c [new file with mode: 0644]
src/lib/update/nav_util.c [new file with mode: 0644]
src/lib/update/nxtitemp.c [new file with mode: 0644]
src/lib/update/nxtsctp.c [new file with mode: 0644]
src/lib/update/plague.c [new file with mode: 0644]
src/lib/update/plane.c [new file with mode: 0644]
src/lib/update/populace.c [new file with mode: 0644]
src/lib/update/prepare.c [new file with mode: 0644]
src/lib/update/produce.c [new file with mode: 0644]
src/lib/update/removewants.c [new file with mode: 0644]
src/lib/update/revolt.c [new file with mode: 0644]
src/lib/update/sail.c [new file with mode: 0644]
src/lib/update/sect.c [new file with mode: 0644]
src/lib/update/ship.c [new file with mode: 0644]
src/make.defs [new file with mode: 0644]
src/make.rules [new file with mode: 0644]
src/server/Makefile [new file with mode: 0644]
src/server/idle.c [new file with mode: 0644]
src/server/lostitem.c [new file with mode: 0644]
src/server/main.c [new file with mode: 0644]
src/server/marketup.c [new file with mode: 0644]
src/server/shutdown.c [new file with mode: 0644]
src/server/timestamp.c [new file with mode: 0644]
src/server/update.c [new file with mode: 0644]
src/util/Makefile [new file with mode: 0644]
src/util/README [new file with mode: 0644]
src/util/fairland.c [new file with mode: 0644]
src/util/files.c [new file with mode: 0644]
src/util/land.c [new file with mode: 0644]
src/util/ore.c [new file with mode: 0644]
src/util/pconfig.c [new file with mode: 0644]
src/util/perfect.c [new file with mode: 0644]

diff --git a/COPYING b/COPYING
new file mode 100644 (file)
index 0000000..4e19bc5
--- /dev/null
+++ b/COPYING
@@ -0,0 +1,3 @@
+   See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
+   related information and legal notices pertaining to the copying,
+   modification and distribution of this software.
diff --git a/CREDITS b/CREDITS
new file mode 100644 (file)
index 0000000..992647e
--- /dev/null
+++ b/CREDITS
@@ -0,0 +1,154 @@
+This file contains a list of known contributors to Empire (either
+in coding, testing, ideas or moral support. :) )
+
+Empire is a multi-player, client/server Internet based war game. It
+is distributed in two main parts, a server, where the game actually
+runs, and clients that connect to the server.  The server portion
+ships with a basic client.  This basic client is also available
+seperately.  There are also many third-party clients available.
+
+Empire is based on a game written in the late 70s/early 80s by Peter
+Langston.  Since he wouldn't give out the source code, a large reverse
+engineering/re-coding project was undertaken to create a new version
+of this game and make the source available for all.  Since that time,
+the Empire code has changed drastically and been re-written numerous
+times, and none of that original code exists (other than in fond
+memories) in this code base anymore.
+
+There have been various "stages" of Empire development.  At this point
+in time (October, 1998) there have been 5 major stages identified,
+each with a leading author.  They are as follows (with successsive
+projects building on the projects before it):
+
+  Dave Pare (mr-frog@smarttouch.com) (UCSD/BSD)
+  Jeff Bailey (bailey@mcs.kent.edu) (KSU (1.04) Distribution of BSD)
+  Thomas Ruschak (ts@ecn.purdue.edu) (Chainsaw)
+  Ken Stevens (KStevens@GlobeandMail.ca) (3.0.x)
+  Steve McClure (ionica@empire.cx) (Wolfpack)
+
+It is due to these above people pulling projects together that the
+Empire server has gotten to where it is today. 
+
+Empire is copyrighted and released by the 5 people above under the GNU
+GPL.  See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all
+the related information and legal notices. It is expected that any
+future projects/authors will amend these files as needed.  The source
+files have been updated to reflect this license, and much erroneous
+data (such as bogus file headers) has been fixed.
+
+Empire source code has always been freely available, with the intent
+of it always being freely available, it was just never properly
+copyrighted or licensed until the first release under the GNU GPL
+(4.2.0) It is our goal to keep Empire source free and available at all
+times.
+
+Also see the "History" info file for a more detailed listing of
+the history of Empire.
+
+Currently (June, 2003), Empire development is being led by the
+Wolfpack team.  You can find them at "http://www.wolfpackempire.com"
+or e-mail "wolfpack@wolfpackempire.com".
+
+In addition, the people below are recognized as having either given
+code to the above authors, submitted patches, helped on various
+aspects of the projects (such as info pages), play tested, submitted
+bug reports, bounced ideas, etc.
+
+Many of the source files have no listed known contributors due to the
+fact that many, many people contributed anonymously.  For those where
+we knew who contributors were, we listed them in the header.  It is
+hoped that in the future contributors will put their names into this
+list at the top of the file, and that new files have the same type of
+header applied to them for future tracking (though obviously it is
+not required.)
+
+We are sure that the list below is most likely incomplete, and anyone
+who doesn't see your name on the below list, don't be offended, we
+didn't mean it!  Just send us an e-mail letting us know and we'll be
+more than happy to add you.  Also, let us know your latest e-mail
+address if you'd like it included.
+
+---
+
+James Anderson (jwa@k.cs.cmu.edu)
+Jeff Anton (anton@postgres.berkeley.edu)
+Markus Armbruster
+Jeff Bailey (bailey@mcs.kent.edu)
+Mark Ballinger
+Jan van Beethoven
+Paul Byrne
+Geoff Cashman (cashman@sherrill.kiva.net)
+Bill Canning
+Trannie Carter
+Sean Casey
+David Davis
+Aaron Dewell (dewell@greatland.net)
+Jorge Diaz
+Drake Diedrich (Drake.Diedrich@anu.edu.au)
+Yaser Doleh
+Ed Down
+Phill Everson (everson@compsci.bristol.ac.uk)
+Scott Ferguson
+Robert Forsman (thoth@beach.cis.ufl.edu)
+Bill Frolick
+Steven Grady
+Keith Graham
+Jim Griffith (griffith@scam.Berkeley.EDU)
+Steven Grimm (koreth@ucscb.UCSC.EDU)
+Karl Hagen
+Doug Hay (Doug_Hay@tsb.ca)
+Ken Huisman
+Lewis R. Jansen (lrj@helios.tn.cornell.edu)
+Mike St. Johns (stjohns@edn-vax.arpa)
+Beorn Johnson
+William S. Kaster
+Jeremy Kennebel
+Kevin Klemmick
+Ron Kuris (rk@unify.com)
+Nick Lai (lai@cs.ucla.edu)
+Phil Lapsley
+Curtis Larsen
+Robert A. Larson (blarson@skat.usc.edu)
+Jonathan Lee
+Craig Leres
+Dan Logcher (dan@i-kinetics.com)
+Pat Loney (overlord@empire.cx)
+Shelley Louie (slouie@cory.berekely.edu)
+Steve McClure (ionica@empire.cx)
+Chris Metcalf (metcalf-christopher@yale.arpa)
+Sasha Mikheev
+Kevin Morgan
+Richard Moss
+Keith Muller (muller@sdcc7.ucsd.edu)
+Chuck Musciano (chuck@trantor.harris-atd.com)
+Dave Nye
+Kevin O'Connor
+Jeff Okamoto (okamoto%hpccc@hplabs.hp.com)
+Julian Onions (jpo@computer-science.nottingham.ac.uk)
+Jim Ortlieb
+Dave Pare (mr-frog@smarttouch.com)
+Gregory Paris
+Kurt Pires (kjpires@ic.berkeley.edu)
+Brett Reid
+Bernhard Reiter (breiter@mathematik.Uni-Osnabrueck.DE)
+Jim Reuter (reuter@decwrl.dec.com)
+James Risner (risner@akira.stdio.com)
+Thomas Ruschak (ts@ecn.purdue.edu)
+Edward M. Rynes
+David Muir Sharnoff (muir@cogsci.berkeley.edu)
+Alex Shatsky
+Walter Smith
+Ken Stevens (KStevens@GlobeandMail.ca)
+Michael Straub
+Tom Tedrick
+Sam Tetherow
+Yannick Tremblay (yt1@eng.cam.ac.uk)
+Janjaap van Velthooven
+Ville Virrankoski
+Peter Vukovich (peterv@monet.berkeley.edu)
+Jeff Wallace (jeffw@scam.berkeley.edu)
+Sverker Wiberg
+Mike Wise
+John Yockey (johny@verinet.com)
+Chad Zabel
+
diff --git a/LEGAL b/LEGAL
new file mode 100644 (file)
index 0000000..ca0fef5
--- /dev/null
+++ b/LEGAL
@@ -0,0 +1,26 @@
+******************************************************************************
+    Empire - A multi-player, client/server Internet based war game.
+    Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+                             Ken Stevens, Steve McClure
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program 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 for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+---
+
+    See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
+    related information and legal notices. It is expected that any future
+    projects/authors will amend these files as needed.
+
+******************************************************************************
diff --git a/LICENSE b/LICENSE
new file mode 100644 (file)
index 0000000..60549be
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,340 @@
+                   GNU GENERAL PUBLIC LICENSE
+                      Version 2, June 1991
+
+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.
+                       59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+                           Preamble
+
+  The licenses for most software are designed to take away your
+freedom to share and change it.  By contrast, the GNU General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users.  This
+General Public License applies to most of the Free Software
+Foundation's software and to any other program whose authors commit to
+using it.  (Some other Free Software Foundation software is covered by
+the GNU Library General Public License instead.)  You can apply it to
+your programs, too.
+
+  When we speak of free software, we are referring to freedom, not
+price.  Our General Public Licenses are designed to make sure that you
+have the freedom to distribute copies of free software (and charge for
+this service if you wish), that you receive source code or can get it
+if you want it, that you can change the software or use pieces of it
+in new free programs; and that you know you can do these things.
+
+  To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+  For example, if you distribute copies of such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have.  You must make sure that they, too, receive or can get the
+source code.  And you must show them these terms so they know their
+rights.
+
+  We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+  Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software.  If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+  Finally, any free program is threatened constantly by software
+patents.  We wish to avoid the danger that redistributors of a free
+program will individually obtain patent licenses, in effect making the
+program proprietary.  To prevent this, we have made it clear that any
+patent must be licensed for everyone's free use or not licensed at all.
+
+  The precise terms and conditions for copying, distribution and
+modification follow.
+\f
+                   GNU GENERAL PUBLIC LICENSE
+   TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+  0. This License applies to any program or other work which contains
+a notice placed by the copyright holder saying it may be distributed
+under the terms of this General Public License.  The "Program", below,
+refers to any such program or work, and a "work based on the Program"
+means either the Program or any derivative work under copyright law:
+that is to say, a work containing the Program or a portion of it,
+either verbatim or with modifications and/or translated into another
+language.  (Hereinafter, translation is included without limitation in
+the term "modification".)  Each licensee is addressed as "you".
+
+Activities other than copying, distribution and modification are not
+covered by this License; they are outside its scope.  The act of
+running the Program is not restricted, and the output from the Program
+is covered only if its contents constitute a work based on the
+Program (independent of having been made by running the Program).
+Whether that is true depends on what the Program does.
+
+  1. You may copy and distribute verbatim copies of the Program's
+source code as you receive it, in any medium, provided that you
+conspicuously and appropriately publish on each copy an appropriate
+copyright notice and disclaimer of warranty; keep intact all the
+notices that refer to this License and to the absence of any warranty;
+and give any other recipients of the Program a copy of this License
+along with the Program.
+
+You may charge a fee for the physical act of transferring a copy, and
+you may at your option offer warranty protection in exchange for a fee.
+
+  2. You may modify your copy or copies of the Program or any portion
+of it, thus forming a work based on the Program, and copy and
+distribute such modifications or work under the terms of Section 1
+above, provided that you also meet all of these conditions:
+
+    a) You must cause the modified files to carry prominent notices
+    stating that you changed the files and the date of any change.
+
+    b) You must cause any work that you distribute or publish, that in
+    whole or in part contains or is derived from the Program or any
+    part thereof, to be licensed as a whole at no charge to all third
+    parties under the terms of this License.
+
+    c) If the modified program normally reads commands interactively
+    when run, you must cause it, when started running for such
+    interactive use in the most ordinary way, to print or display an
+    announcement including an appropriate copyright notice and a
+    notice that there is no warranty (or else, saying that you provide
+    a warranty) and that users may redistribute the program under
+    these conditions, and telling the user how to view a copy of this
+    License.  (Exception: if the Program itself is interactive but
+    does not normally print such an announcement, your work based on
+    the Program is not required to print an announcement.)
+\f
+These requirements apply to the modified work as a whole.  If
+identifiable sections of that work are not derived from the Program,
+and can be reasonably considered independent and separate works in
+themselves, then this License, and its terms, do not apply to those
+sections when you distribute them as separate works.  But when you
+distribute the same sections as part of a whole which is a work based
+on the Program, the distribution of the whole must be on the terms of
+this License, whose permissions for other licensees extend to the
+entire whole, and thus to each and every part regardless of who wrote it.
+
+Thus, it is not the intent of this section to claim rights or contest
+your rights to work written entirely by you; rather, the intent is to
+exercise the right to control the distribution of derivative or
+collective works based on the Program.
+
+In addition, mere aggregation of another work not based on the Program
+with the Program (or with a work based on the Program) on a volume of
+a storage or distribution medium does not bring the other work under
+the scope of this License.
+
+  3. You may copy and distribute the Program (or a work based on it,
+under Section 2) in object code or executable form under the terms of
+Sections 1 and 2 above provided that you also do one of the following:
+
+    a) Accompany it with the complete corresponding machine-readable
+    source code, which must be distributed under the terms of Sections
+    1 and 2 above on a medium customarily used for software interchange; or,
+
+    b) Accompany it with a written offer, valid for at least three
+    years, to give any third party, for a charge no more than your
+    cost of physically performing source distribution, a complete
+    machine-readable copy of the corresponding source code, to be
+    distributed under the terms of Sections 1 and 2 above on a medium
+    customarily used for software interchange; or,
+
+    c) Accompany it with the information you received as to the offer
+    to distribute corresponding source code.  (This alternative is
+    allowed only for noncommercial distribution and only if you
+    received the program in object code or executable form with such
+    an offer, in accord with Subsection b above.)
+
+The source code for a work means the preferred form of the work for
+making modifications to it.  For an executable work, complete source
+code means all the source code for all modules it contains, plus any
+associated interface definition files, plus the scripts used to
+control compilation and installation of the executable.  However, as a
+special exception, the source code distributed need not include
+anything that is normally distributed (in either source or binary
+form) with the major components (compiler, kernel, and so on) of the
+operating system on which the executable runs, unless that component
+itself accompanies the executable.
+
+If distribution of executable or object code is made by offering
+access to copy from a designated place, then offering equivalent
+access to copy the source code from the same place counts as
+distribution of the source code, even though third parties are not
+compelled to copy the source along with the object code.
+\f
+  4. You may not copy, modify, sublicense, or distribute the Program
+except as expressly provided under this License.  Any attempt
+otherwise to copy, modify, sublicense or distribute the Program is
+void, and will automatically terminate your rights under this License.
+However, parties who have received copies, or rights, from you under
+this License will not have their licenses terminated so long as such
+parties remain in full compliance.
+
+  5. You are not required to accept this License, since you have not
+signed it.  However, nothing else grants you permission to modify or
+distribute the Program or its derivative works.  These actions are
+prohibited by law if you do not accept this License.  Therefore, by
+modifying or distributing the Program (or any work based on the
+Program), you indicate your acceptance of this License to do so, and
+all its terms and conditions for copying, distributing or modifying
+the Program or works based on it.
+
+  6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the
+original licensor to copy, distribute or modify the Program subject to
+these terms and conditions.  You may not impose any further
+restrictions on the recipients' exercise of the rights granted herein.
+You are not responsible for enforcing compliance by third parties to
+this License.
+
+  7. If, as a consequence of a court judgment or allegation of patent
+infringement or for any other reason (not limited to patent issues),
+conditions are imposed on you (whether by court order, agreement or
+otherwise) that contradict the conditions of this License, they do not
+excuse you from the conditions of this License.  If you cannot
+distribute so as to satisfy simultaneously your obligations under this
+License and any other pertinent obligations, then as a consequence you
+may not distribute the Program at all.  For example, if a patent
+license would not permit royalty-free redistribution of the Program by
+all those who receive copies directly or indirectly through you, then
+the only way you could satisfy both it and this License would be to
+refrain entirely from distribution of the Program.
+
+If any portion of this section is held invalid or unenforceable under
+any particular circumstance, the balance of the section is intended to
+apply and the section as a whole is intended to apply in other
+circumstances.
+
+It is not the purpose of this section to induce you to infringe any
+patents or other property right claims or to contest validity of any
+such claims; this section has the sole purpose of protecting the
+integrity of the free software distribution system, which is
+implemented by public license practices.  Many people have made
+generous contributions to the wide range of software distributed
+through that system in reliance on consistent application of that
+system; it is up to the author/donor to decide if he or she is willing
+to distribute software through any other system and a licensee cannot
+impose that choice.
+
+This section is intended to make thoroughly clear what is believed to
+be a consequence of the rest of this License.
+\f
+  8. If the distribution and/or use of the Program is restricted in
+certain countries either by patents or by copyrighted interfaces, the
+original copyright holder who places the Program under this License
+may add an explicit geographical distribution limitation excluding
+those countries, so that distribution is permitted only in or among
+countries not thus excluded.  In such case, this License incorporates
+the limitation as if written in the body of this License.
+
+  9. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time.  Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number.  If the Program
+specifies a version number of this License which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation.  If the Program does not specify a version number of
+this License, you may choose any version ever published by the Free Software
+Foundation.
+
+  10. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission.  For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this.  Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+                           NO WARRANTY
+
+  11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW.  EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.  SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+  12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+                    END OF TERMS AND CONDITIONS
+\f
+           How to Apply These Terms to Your New Programs
+
+  If you develop a new program, and you want it to be of the greatest
+possible use to the public, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these terms.
+
+  To do so, attach the following notices to the program.  It is safest
+to attach them to the start of each source file to most effectively
+convey the exclusion of warranty; and each file should have at least
+the "copyright" line and a pointer to where the full notice is found.
+
+    <one line to give the program's name and a brief idea of what it does.>
+    Copyright (C) 19yy  <name of author>
+
+    This program is free software; you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation; either version 2 of the License, or
+    (at your option) any later version.
+
+    This program 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 for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program; if not, write to the Free Software
+    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+    Gnomovision version 69, Copyright (C) 19yy name of author
+    Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+    This is free software, and you are welcome to redistribute it
+    under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the appropriate
+parts of the General Public License.  Of course, the commands you use may
+be called something other than `show w' and `show c'; they could even be
+mouse-clicks or menu items--whatever suits your program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary.  Here is a sample; alter the names:
+
+  Yoyodyne, Inc., hereby disclaims all copyright interest in the program
+  `Gnomovision' (which makes passes at compilers) written by James Hacker.
+
+  <signature of Ty Coon>, 1 April 1989
+  Ty Coon, President of Vice
+
+This General Public License does not permit incorporating your program into
+proprietary programs.  If your program is a subroutine library, you may
+consider it more useful to permit linking proprietary applications with the
+library.  If this is what you want to do, use the GNU Library General
+Public License instead of this License.
diff --git a/Make.sysdefs b/Make.sysdefs
new file mode 100644 (file)
index 0000000..33674ba
--- /dev/null
@@ -0,0 +1,152 @@
+# 
+#   Empire - A multi-player, client/server Internet based war game.
+#   Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+#                            Ken Stevens, Steve McClure
+# 
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+# 
+#   This program 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 for more details.
+# 
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# 
+#   ---
+# 
+#   See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
+#   related information and legal notices. It is expected that any future
+#   projects/authors will amend these files as needed.
+# 
+#
+# Make.sysdefs - Wolfpack, 1996-2000
+#
+# To add a new architecture, just copy one of the models below.  Change the
+# CFLAGS as needed, and then put in a target build in the Makefile.  See
+# the examples there on what to do.
+#
+
+OSXCFLAGS = -g -fwritable-strings -traditional-cpp -D_EMPTH_POSIX=1
+OSXLFLAGS = -flat_namespace -undefined warning
+OSXMASTER = GLOBALCFLAGS="$(OSXCFLAGS)" GLOBALLFLAGS="$(OSXLFLAGS)"
+
+FREEBSDRANLIB = /usr/bin/ranlib
+FREEBSDCFLAGS = -DRel4 -DFBSD -ansi -pedantic #-Wall
+FREEBSDLFLAGS = 
+FREEBSDMASTER = GLOBALCFLAGS="$(FREEBSDCFLAGS)" GLOBALLFLAGS="$(FREEBSDLFLAGS)" RANLIB="$(FREEBSDRANLIB)"
+
+APOLLOCFLAGS = -g
+APOLLOLFLAGS = 
+APOLLOMASTER = GLOBALCFLAGS="$(APOLLOCFLAGS)" GLOBALLFLAGS="$(APOLLOLFLAGS)"
+
+NTCFLAGS = /D_WIN32 /Od /G3 /Zp2 /nologo /MT
+NTLFLAGS =
+NTMASTER = CC=CL GLOBALCFLAGS="$(NTCFLAGS)" GLOBALLFLAGS="$(NTLFLAGS)"
+
+NEXTCFLAGS = -bsd -fwritable-strings -traditional -Dconst="" -Dinline=""
+NEXTLFLAGS = -lsys_s
+NEXTMASTER = GLOBALCFLAGS="$(NEXTCFLAGS)" GLOBALLFLAGS="$(NEXTLFLAGS)"
+
+LINUXCFLAGS = -Wall -W -Wno-unused -Dlint -D__USE_BSD -D__USE_BSD_SIGNAL -DLISTENMAXCONN=5 -DRel4
+LINUXLFLAGS = 
+LINUXMASTER = GLOBALCFLAGS="$(LINUXCFLAGS)" GLOBALLFLAGS="$(LINUXLFLAGS)" CLIENTLIBS=-lncurses
+
+LINUXPTHCFLAGS = -Wall -W -Wno-unused -Dlint -D_EMPTH_POSIX=1 -U_EMPTH_LWP -D__USE_BSD -D__USE_BSD_SIGNAL -DLISTENMAXCONN=5 -DRel4
+LINUXPTHLFLAGS = -lpthread
+LINUXPTHMASTER = GLOBALCFLAGS="$(LINUXPTHCFLAGS)" GLOBALLFLAGS="$(LINUXPTHLFLAGS)" CLIENTLIBS=-lncurses
+
+HPRANLIB = true
+HPCFLAGS = -Aa -Dsys5 -DNOFLOCK -Dhpc -D_HPUX_SOURCE -Dhpux
+HPLFLAGS = 
+HPMASTER = GLOBALCFLAGS="$(HPCFLAGS)" GLOBALLFLAGS="$(HPLFLAGS)" RANLIB="$(HPRANLIB)" CLIENTLIBS=-ltermcap
+
+HPUXRANLIB = true
+HPUXCFLAGS = -Dsys5 -DNOFLOCK
+HPUXLFLAGS = 
+HPUXMASTER = GLOBALCFLAGS="$(HPUXCFLAGS)" GLOBALLFLAGS="$(HPUXLFLAGS)" RANLIB="$(HPUXRANLIB)" CLIENTLIBS=-ltermcap
+
+IRIX5RANLIB = echo
+IRIX5CFLAGS = -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -O3 -fullwarn -woff 835,709
+IRIX5LFLAGS = -lnsl
+IRIX5MASTER = GLOBALCFLAGS="$(IRIX5CFLAGS)" GLOBALLFLAGS="$(IRIX5LFLAGS)" RANLIB="$(IRIX5RANLIB)"
+
+IRIXRANLIB = echo
+IRIXCFLAGS = -g -O -cckr -D_BSD_SIGNALS
+IRIXLFLAGS = 
+IRIXMASTER = GLOBALCFLAGS="$(IRIXCFLAGS)" GLOBALLFLAGS="$(IRIXLFLAGS)" RANLIB="$(IRIXRANLIB)"
+
+ISICFLAGS = 
+ISILFLAGS = 
+ISIMASTER = GLOBALCFLAGS="$(ISICFLAGS)" GLOBALLFLAGS="$(ISILFLAGS)"
+
+RTPCCFLAGS = -DBSD_INCLUDES -Daix -Dsys5 $(LOCALCFLAGS) -DNOFLOCK -a
+RTPCLFLAGS = 
+RTPCMASTER = GLOBALCFLAGS="$(RTPCCFLAGS)" GLOBALLFLAGS="$(RTPCLFLAGS)"
+
+SOLCFLAGS = -g -DSVR4 -DRel4 -DUCONTEXT -DPOSIXSIGNALS -DNOFLOCK -Dsolaris
+SOLLFLAGS = -lnsl -lsocket -lthread
+SOLMASTER = GLOBALCFLAGS="$(SOLCFLAGS)" GLOBALLFLAGS="$(SOLLFLAGS)"
+
+SEQCFLAGS =   -O -DALLYHARBOR -DSHOWPLANE -DDROPANY -DREJECTS -DBMAP -DAUTONAV -DSCUTTLE -DCONVASAT -DORBIT -DABM -DGRIND -DPINPOINTMISSILE -DFALLOUT -DSAIL -DLOWSTARTMOB -DFIXREALMS -DBUYTAX -DNUKEFAILDETONATE -DMISSINGMISSILES
+SEQLFLAGS = /usr/att/lib/libc.a -lresolv
+SEQIFLAGS =  -I/usr/include -I/usr/att/usr/include
+SEQMASTER = GLOBALCFLAGS="$(SEQCFLAGS)" GLOBALLFLAGS="$(SEQLFLAGS)" LOCALIFLAGS="$(SEQIFLAGS)"
+
+SEQFPACFLAGS = -g
+SEQFPALFLAGS = /usr/att/lib/libfpac.a
+SEQFPAIFLAGS = -I/usr/include -I/usr/att/usr/include -fpa
+SEQFPAMASTER = GLOBALCFLAGS="$(SEQFPACFLAGS)" GLOBALLFLAGS="$(SEQFPALFLAGS)" LOCALIFLAGS="$(SEQFPAIFLAGS)"
+
+SUN3CFLAGS = -g -f68881
+SUN3LFLAGS = 
+SUN3MASTER = GLOBALCFLAGS="$(SUN3CFLAGS)" GLOBALLFLAGS="$(SUN3LFLAGS)"
+
+SUN4CFLAGS = -DSUN4
+SUN4LFLAGS = 
+SUN4MASTER = GLOBALCFLAGS="$(SUN4CFLAGS)" GLOBALLFLAGS="$(SUN4LFLAGS)"
+
+SUN4DBGCFLAGS = -g -DSUN4
+SUN4DBGLFLAGS = 
+SUN4DBGMASTER = GLOBALCFLAGS="$(SUN4DBGCFLAGS)" GLOBALLFLAGS="$(SUN4DBGLFLAGS)"
+
+SUN4OPTCFLAGS = -O -DSUN4
+SUN4OPTLFLAGS = 
+SUN4OPTMASTER = GLOBALCFLAGS="$(SUN4OPTCFLAGS)" GLOBALLFLAGS="$(SUN4OPTLFLAGS)"
+
+AIXCFLAGS = -Daix -Dsys5 $(LOCALCFLAGS) -DNOFLOCK -D_BSD_INCLUDES -D_BSD -D_NO_PROTO -D_NONSTD_TYPES -U__STR__ -DAIX32
+AIXLFLAGS = -lbsd
+AIXMASTER = GLOBALCFLAGS="$(AIXCFLAGS)" GLOBALLFLAGS="$(AIXLFLAGS)" CLIENTLIBS="-lcurses"
+
+ALPHACFLAGS = -DALPHA -g -std1
+ALPHALFLAGS = -non_shared -lots
+ALPHAMASTER = GLOBALCFLAGS="$(ALPHACFLAGS)" GLOBALLFLAGS="$(ALPHALFLAGS)"
+
+ALPHAPOSCFLAGS = -D_EMPTH_POSIX=1 -U_EMPTH_LWP -D_PTHREAD_USE_D4 -D_REENTRANT -DALPHA -g -std1 
+ALPHAPOSLFLAGS = -lpthreads
+ALPHAPOSPFLAGS = 
+ALPHAPOSMASTER = GLOBALCFLAGS="$(ALPHAPOSCFLAGS)" GLOBALLFLAGS="$(ALPHAPOSLFLAGS)" GLOBALPFLAGS="$(ALPHAPOSPFLAGS)"
+
+MIPSULTCFLAGS = -DMIPS -DNOSTRDUP -signed
+MIPSULTLFLAGS =
+MIPSULTMASTER = GLOBALCFLAGS="$(MIPSULTCFLAGS)" GLOBALLFLAGS="$(MIPSULTLFLAGS)"
+
+MIPSULTGCFLAGS = -DMIPS -DNOSTRDUP -fsigned-char -g -O
+MIPSULTGLFLAGS =
+MIPSULTGMASTER = GLOBALCFLAGS="$(MIPSULTGCFLAGS)" GLOBALGLFLAGS="$(MIPSULTGLFLAGS)"
+
+MACH25CFLAGS = -O
+MACH25LFLAGS =
+MACH25MASTER = GLOBALCFLAGS="$(MACH25CFLAGS)" GLOBALLFLAGS="$(MACH25LFLAGS)"
+
+MIPSBSDCFLAGS = -DMIPS -DNOSTRDUP -G 33 -signed 
+MIPSBSDLFLAGS = -G 33
+MIPSBSDMASTER = GLOBALCFLAGS="$(MIPSBSDCFLAGS)" GLOBALLFLAGS="$(MIPSBSDLFLAGS)"
+
+VAXULTCFLAGS = -O -DNOSTRDUP -DPOSIXSIGNALS
+VAXULTLFLAGS =
+VAXULTMASTER = GLOBALCFLAGS="$(VAXULTCFLAGS)" GLOBALLFLAGS="$(VAXULTLFLAGS)"
diff --git a/Makefile b/Makefile
new file mode 100644 (file)
index 0000000..49f44e3
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,561 @@
+# 
+#   Empire - A multi-player, client/server Internet based war game.
+#   Copyright (C) 1986-2000, Dave Pare, Jeff Bailey, Thomas Ruschak,
+#                            Ken Stevens, Steve McClure
+# 
+#   This program is free software; you can redistribute it and/or modify
+#   it under the terms of the GNU General Public License as published by
+#   the Free Software Foundation; either version 2 of the License, or
+#   (at your option) any later version.
+# 
+#   This program 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 for more details.
+# 
+#   You should have received a copy of the GNU General Public License
+#   along with this program; if not, write to the Free Software
+#   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+# 
+#   ---
+# 
+#   See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
+#   related information and legal notices. It is expected that any future
+#   projects/authors will amend these files as needed.
+# 
+# Makefile - Wolfpack, 1996-2000
+#            Do a generic build just by typing in "make <arch>"
+#
+# Note that the NT builds were done using MSVC 5.0 and using "nmake nt"
+#  So, to build anything on NT, just put an "nt" in front (for example,
+#  "ntclean", "ntinstall", etc.
+
+include build.conf
+include Make.sysdefs
+
+TOBUILD = all
+GENMASTER = $(TOBUILD) GLOBALCFLAGS="$(GLOBALCFLAGS)" GLOBALLFLAGS="$(GLOBALLFLAGS)"
+CLIENTLIBS = -ltermcap
+
+
+#
+# Specific targets - make a new one for each new architecture or
+#                    build environment.
+#
+
+all:
+       @echo 'You must type "make <arch>" to build for a specific system.'
+       @echo 'Currently buildable architectures are:'
+       @echo '   aix'
+       @echo '   alpha'
+       @echo '   alpha-pthreads'
+       @echo '   apollo'
+       @echo '   freebsd'
+       @echo '   hp'
+       @echo '   hpux'
+       @echo '   irix'
+       @echo '   irix5'
+       @echo '   isi'
+       @echo '   linux'
+       @echo '   linux-pthreads'
+       @echo '   mach2.5'
+       @echo '   mipsbsd'
+       @echo '   mipsultrix'
+       @echo '   mipsultrix.gcc'
+       @echo '   next'
+       @echo '   nt'
+       @echo '   osx'
+       @echo '   rtpc'
+       @echo '   sequent'
+       @echo '   sequent.fpa'
+       @echo '   solaris'
+       @echo '   sun3'
+       @echo '   sun4'
+       @echo '   sun4.debug'
+       @echo '   sun4.opt'
+       @echo '   vaxultrix'
+
+alpha:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(ALPHAMASTER))
+       ($(MAKE) genlibs $(ALPHAMASTER))
+       (cd src/lib/lwp; $(MAKE) $(ALPHAMASTER))
+       ($(MAKE) binaries $(ALPHAMASTER))
+       ($(MAKE) install)
+
+alpha-pthreads:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(ALPHAPOSMASTER))
+       ($(MAKE) genlibs $(ALPHAPOSMASTER))
+       (cd src/lib/lwp; $(MAKE) $(ALPHAPOSMASTER))
+       ($(MAKE) binaries $(ALPHAPOSMASTER))
+       ($(MAKE) install)
+
+apollo:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(APOLLOMASTER))
+       ($(MAKE) genlibs $(APOLLOMASTER))
+       (cd src/lib/lwp; $(MAKE) $(APOLLOMASTER))
+       ($(MAKE) binaries $(APOLLOMASTER))
+       ($(MAKE) install)
+
+freebsd:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(FREEBSDMASTER))
+       ($(MAKE) genlibs $(FREEBSDMASTER))
+       (cd src/lib/lwp; $(MAKE) $(FREEBSDMASTER))
+       ($(MAKE) binaries $(FREEBSDMASTER))
+       ($(MAKE) install)
+
+hp:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(HPMASTER))
+       ($(MAKE) genlibs $(HPMASTER))
+       (cd src/lib/lwp; $(MAKE) $(HPMASTER))
+       ($(MAKE) binaries $(HPMASTER))
+       ($(MAKE) install)
+
+hpux:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(HPUXMASTER))
+       ($(MAKE) genlibs $(HPUXMASTER))
+       (cd src/lib/lwp; $(MAKE) $(HPUXMASTER))
+       ($(MAKE) binaries $(HPUXMASTER) CLIENTLIBS="")
+       ($(MAKE) install)
+
+next:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(NEXTMASTER))
+       ($(MAKE) genlibs $(NEXTMASTER))
+       (cd src/lib/lwp; $(MAKE) $(NEXTMASTER))
+       ($(MAKE) binaries $(NEXTMASTER))
+       ($(MAKE) install)
+
+osx:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(OSXMASTER))
+       ($(MAKE) genlibs $(OSXMASTER))
+       ($(MAKE) binaries TOBUILD=osx $(OSXMASTER) CLIENTLIBS="")
+       ($(MAKE) install)
+
+irix:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(IRIXMASTER))
+       ($(MAKE) genlibs $(IRIXMASTER))
+       (cd src/lib/lwp; $(MAKE) $(IRIXMASTER))
+       ($(MAKE) binaries $(IRIXMASTER))
+       ($(MAKE) install)
+
+irix5:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(IRIX5MASTER))
+       ($(MAKE) genlibs $(IRIX5MASTER))
+       (cd src/lib/lwp; $(MAKE) $(IRIX5MASTER))
+       ($(MAKE) binaries $(IRIX5MASTER))
+       ($(MAKE) install)
+
+isi:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(ISIMASTER))
+       ($(MAKE) genlibs $(ISIMASTER))
+       (cd src/lib/lwp; $(MAKE) $(ISIMASTER))
+       ($(MAKE) binaries $(ISIMASTER))
+       ($(MAKE) install)
+
+linux:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       @echo 'This build is only tested on x86 machines.  Try using'
+       @echo 'linux-pthreads for other architectures.'
+       (cd src/doconfig; $(MAKE) $(LINUXMASTER))
+       ($(MAKE) genlibs $(LINUXMASTER))
+       (cd src/lib/lwp; $(MAKE) $(LINUXMASTER))
+       ($(MAKE) binaries $(LINUXMASTER))
+       ($(MAKE) install)
+
+linux-pthreads:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(LINUXPTHMASTER))
+       ($(MAKE) genlibs $(LINUXPTHMASTER))
+       (cd src/lib/lwp; $(MAKE) $(LINUXPTHMASTER))
+       ($(MAKE) binaries $(LINUXPTHMASTER))
+       ($(MAKE) install)
+
+mipsbsd:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(MIPSBSDMASTER))
+       ($(MAKE) genlibs $(MIPSBSDMASTER))
+       (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSBSDMASTER))
+       ($(MAKE) binaries $(MIPSBSDMASTER))
+       ($(MAKE) install)
+
+mach2.5:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(MACH25MASTER))
+       ($(MAKE) genlibs $(MACH25MASTER))
+       (cd src/lib/lwp; $(MAKE) mipsultrix $(MACH25MASTER))
+       ($(MAKE) binaries $(MACH25MASTER))
+       ($(MAKE) install)
+
+mipsultrix:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(MIPSULTMASTER))
+       ($(MAKE) genlibs $(MIPSULTMASTER))
+       (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTMASTER))
+       ($(MAKE) binaries $(MIPSULTMASTER))
+       ($(MAKE) install)
+
+mipsultrix.gcc:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(MIPSULTGMASTER))
+       ($(MAKE) genlibs $(MIPSULTGMASTER))
+       (cd src/lib/lwp; $(MAKE) mipsultrix $(MIPSULTGMASTER))
+       ($(MAKE) binaries $(MIPSULTGMASTER))
+       ($(MAKE) install)
+
+nt:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       cd src/doconfig
+       $(MAKE) nt $(NTMASTER)
+       cd ../..
+       $(MAKE) ntgenlibs TOBUILD=nt $(NTMASTER)
+       cd src/lib/lwp
+       $(MAKE) nt $(NTMASTER)
+       cd ../../..
+       $(MAKE) ntbinaries TOBUILD=nt $(NTMASTER)
+       $(MAKE) ntinstall
+
+vaxultrix:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(VAXULTMASTER))
+       ($(MAKE) genlibs $(VAXULTMASTER))
+       (cd src/lib/lwp; $(MAKE) $(VAXULTMASTER))
+       ($(MAKE) binaries $(VAXULTMASTER))
+       ($(MAKE) install)
+
+aix:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(AIXMASTER))
+       ($(MAKE) genlibs $(AIXMASTER))
+       (cd src/lib/lwp; $(MAKE) aix $(AIXMASTER))
+       ($(MAKE) binaries $(AIXMASTER))
+       ($(MAKE) install)
+
+rtpc:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(RTPCMASTER))
+       ($(MAKE) genlibs $(RTPCMASTER))
+       (cd src/lib/lwp; $(MAKE) aix $(RTPCMASTER))
+       ($(MAKE) binaries $(RTPCMASTER))
+       ($(MAKE) install)
+
+sequent:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(SEQMASTER))
+       ($(MAKE) genlibs $(SEQMASTER))
+       (cd src/lib/lwp; $(MAKE) $(SEQMASTER))
+       ($(MAKE) binaries $(SEQMASTER))
+       ($(MAKE) install)
+
+sequent.fpa:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(SEQFPAMASTER))
+       ($(MAKE) genlibs $(SEQFPAMASTER))
+       (cd src/lib/lwp; $(MAKE) $(SEQFPAMASTER))
+       ($(MAKE) binaries $(SEQFPAMASTER))
+       ($(MAKE) install)
+
+solaris:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(SOLMASTER))
+       ($(MAKE) genlibs $(SOLMASTER))
+       (cd src/lib/lwp; $(MAKE) $(SOLMASTER))
+       ($(MAKE) binaries $(SOLMASTER))
+       ($(MAKE) install)
+
+sun3:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(SUN3MASTER))
+       ($(MAKE) genlibs $(SUN3MASTER))
+       (cd src/lib/lwp; $(MAKE) $(SUN3MASTER))
+       ($(MAKE) binaries $(SUN3MASTER))
+       ($(MAKE) install)
+
+sun4:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(SUN4MASTER))
+       ($(MAKE) genlibs $(SUN4MASTER))
+       (cd src/lib/lwp; $(MAKE) $(SUN4MASTER))
+       ($(MAKE) binaries $(SUN4MASTER))
+       ($(MAKE) install)
+
+sun4.opt:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(SUN4OPTMASTER))
+       ($(MAKE) genlibs $(SUN4OPTMASTER))
+       (cd src/lib/lwp; $(MAKE) $(SUN4OPTMASTER))
+       ($(MAKE) binaries $(SUN4OPTMASTER))
+       ($(MAKE) install)
+
+sun4.debug:
+       @echo 'building a $(WORLDX) by $(WORLDY) server...'
+       (cd src/doconfig; $(MAKE) $(SUN4DBGMASTER))
+       ($(MAKE) genlibs $(SUN4DBGMASTER))
+       (cd src/lib/lwp; $(MAKE) $(SUN4DBGMASTER))
+       ($(MAKE) binaries $(SUN4DBGMASTER))
+       ($(MAKE) install)
+
+#
+# Generic stuff that is called from the architecture specific stuff.
+#
+
+binaries:
+       @echo 'building the binaries'
+       (cd src/client; $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS))
+       (cd src/server; $(MAKE) $(GENMASTER))
+       (cd src/util; $(MAKE) $(GENMASTER))
+
+ntbinaries:
+       @echo 'building the binaries'
+       cd src/client
+       $(MAKE) $(GENMASTER) CLIENTLIBS=$(CLIENTLIBS)
+       cd ../..
+       cd src/server
+       $(MAKE) $(GENMASTER)
+       cd ../..
+       cd src/util
+       $(MAKE) $(GENMASTER)
+       cd ../..
+
+genlibs:
+       @echo 'building generic libraries'
+       (cd src/lib/as; $(MAKE)  $(GENMASTER))
+       (cd src/lib/commands; $(MAKE)  $(GENMASTER))
+       (cd src/lib/common; $(MAKE)  $(GENMASTER))
+       (cd src/lib/empthread; $(MAKE)  $(GENMASTER))
+       (cd src/lib/gen; $(MAKE)  $(GENMASTER))
+       (cd src/lib/global; $(MAKE)  $(GENMASTER))
+       (cd src/lib/player; $(MAKE)  $(GENMASTER))
+       (cd src/lib/subs; $(MAKE)  $(GENMASTER))
+       (cd src/lib/update; $(MAKE)  $(GENMASTER))
+       @echo 'done building generic libraries'
+
+ntgenlibs:
+       @echo 'building generic libraries'
+       -(mkdir lib)
+       cd src/lib/as
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/commands
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/common
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/empthread
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/gen
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/global
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/player
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/subs
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       cd src/lib/update
+       $(MAKE) $(GENMASTER)
+       cd ../../..
+       @echo 'done building generic libraries'
+
+clean:
+       (cd src/lib/as; $(MAKE) clean)
+       (cd src/lib/commands; $(MAKE) clean)
+       (cd src/lib/common; $(MAKE) clean)
+       (cd src/lib/gen; $(MAKE) clean)
+       (cd src/lib/global; $(MAKE) clean)
+       (cd src/lib/player; $(MAKE) clean)
+       (cd src/lib/subs; $(MAKE) clean)
+       (cd src/lib/update; $(MAKE) clean)
+       (cd src/lib/lwp; $(MAKE) clean)
+       (cd src/lib/empthread; $(MAKE) clean)
+       (cd src/client; $(MAKE) clean)
+       (cd src/server; $(MAKE) clean)
+       (cd src/util; $(MAKE) clean)
+       (cd src/doconfig; $(MAKE) clean)
+       (rm -f lib/*.a)
+
+ntclean:
+       cd src/lib/as
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/commands
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/common
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/gen
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/global
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/player
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/subs
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/update
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/lwp
+       $(MAKE) clean
+       cd ../../../
+       cd src/lib/empthread
+       $(MAKE) clean
+       cd ../../../
+       cd src/client
+       $(MAKE) clean
+       cd ../../
+       cd src/server
+       $(MAKE) clean
+       cd ../../
+       cd src/util
+       $(MAKE) clean
+       cd ../../
+       cd src/doconfig
+       $(MAKE) clean
+       cd ../../
+       cd lib
+       -(del /Q *.lib)
+
+realclean:
+       ($(MAKE) clean)
+       (rm -f bin/*)
+       (rm -rf data/*)
+       -(rm -rf $(EMPDIR)/data/*)
+       -(rm -rf $(EMPDIR)/bin/*)
+       (cd src/lib/as ; echo "# Empty" > Makedepend)
+       (cd src/lib/commands ; echo "# Empty" > Makedepend)
+       (cd src/lib/common ; echo "# Empty" > Makedepend)
+       (cd src/lib/gen ; echo "# Empty" > Makedepend)
+       (cd src/lib/global ; echo "# Empty" > Makedepend)
+       (cd src/lib/player ; echo "# Empty" > Makedepend)
+       (cd src/lib/subs ; echo "# Empty" > Makedepend)
+       (cd src/lib/update ; echo "# Empty" > Makedepend)
+       (cd src/lib/lwp ; echo "# Empty" > Makedepend)
+       (cd src/lib/empthread ; echo "# Empty" > Makedepend)
+       (cd src/client ; echo "# Empty" > Makedepend)
+       (cd src/server ; echo "# Empty" > Makedepend)
+       (cd src/util ; echo "# Empty" > Makedepend)
+       (cd src/doconfig ; echo "# Empty" > Makedepend)
+
+ntrealclean:
+       $(MAKE) ntclean
+       cd bin
+       -(del /Q *.*)
+       cd ..
+       cd data
+       -(del /Q *.*)
+       cd ..
+       cd src/lib/as
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/commands
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/common
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/gen
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/global
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/player
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/subs
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/update
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/lwp
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/lib/empthread
+       echo # Empty > Makedepend
+       cd ../../../
+       cd src/client
+       echo # Empty > Makedepend
+       cd ../../
+       cd src/server
+       echo # Empty > Makedepend
+       cd ../../
+       cd src/util
+       echo # Empty > Makedepend
+       cd ../../
+       cd src/doconfig
+       echo # Empty > Makedepend
+       cd ../../
+       cd $(EMPDIR)\data
+       -(del /Q *.*)
+       -(rmdir tel)
+       cd $(EMPDIR)\bin
+       -(del /Q *.*)
+       cd $(EMPDIR)\data\tel
+       -(del /Q *.*)
+
+depend:
+       (cd src/lib/as; $(MAKE) depend)
+       (cd src/lib/commands; $(MAKE) depend)
+       (cd src/lib/common; $(MAKE) depend)
+       (cd src/lib/gen; $(MAKE) depend)
+       (cd src/lib/global; $(MAKE) depend)
+       (cd src/lib/player; $(MAKE) depend)
+       (cd src/lib/subs; $(MAKE) depend)
+       (cd src/lib/update; $(MAKE) depend)
+       (cd src/lib/lwp; $(MAKE) depend)
+       (cd src/lib/empthread; $(MAKE) depend)
+       (cd src/client; $(MAKE) depend)
+       (cd src/server; $(MAKE) depend)
+       (cd src/util; $(MAKE) depend)
+       (cd src/doconfig; $(MAKE) depend)
+
+# The last three lines here ensure that we don't overwrite an existing
+# econfig file, by moving it first then moving it back.  The '-''s
+# ignore any errors (like if the files don't exist.)
+# So, after an install, you will have an "econfig" file in the
+# data directory if you didn't have one before.
+
+install:
+       (cd src/client; $(MAKE) install)
+       (cd src/server; $(MAKE) install)
+       (cd src/util; $(MAKE) install)
+       -(mv $(EMPDIR)/data/econfig $(EMPDIR)/data/econfig.bak)
+       ($(EMPDIR)/bin/pconfig > $(EMPDIR)/data/econfig)
+       -(mv $(EMPDIR)/data/econfig.bak $(EMPDIR)/data/econfig)
+
+ntinstall:
+       -(mkdir bin)
+       cd src\client
+       $(MAKE) ntinstall
+       cd ..\..
+       cd src\server
+       $(MAKE) ntinstall
+       cd ..\..
+       cd src\util
+       $(MAKE) ntinstall
+       cd ..\..
+       cd data
+       ($(NTINSTDIR)\bin\pconfig.exe > $(NTINSTDIR)\data\econfig.new)
+       -(move econfig.new econfig)
+       cd ..
+
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..7339887
--- /dev/null
+++ b/README
@@ -0,0 +1,82 @@
+Welcome to Empire 4, codenamed Wolfpack.  Congratulations on your choice!
+
+See the "LEGAL", "LICENSE", "CREDITS" and "README" files for all the
+related information and legal notices. It is expected that any future
+projects/authors will amend these files as needed.
+
+For questions and comments, please contact "wolfpack@wolfpackempire.com".
+
+If you want to build the server, follow the few simple steps below.  If
+you are looking for more information on the files here, options for
+the server, etc. take a look in the "doc" directory, then follow the steps
+below to build and start the server.
+
+(1) Unpacking the server
+  To unpack the server, simply gunzip and untar the source.
+
+(2) Building a server
+  Note that you may not have to build a server.  If you received the
+  server in binary format, go to the next step, "Creating the world."
+
+  To build the server, you need to do the following steps:
+
+  1) Get a copy of the source.  Since you're reading this, we assume
+     you have done that. 
+  2) Gunzip the source.  Again, since you're reading this . . . ;-)
+  3) edit the build.conf file in this directory, and answer the questions
+     it asks you.
+  4) type "make" to see what architectures are currently supported.
+  5) choose the architecture that best suits you, and type "make <arch>"
+     where <arch> is the architecture you want to build.
+  6) type "make depend" to build the dependencies (not required, but
+      helps a lot when you want to recompile something again.)
+     Note: "make depend" doesn't work under NT yet.
+
+(3) Creating the world
+  (NOTE: If you received a binary, you must edit the included data/econfig
+   file to represent the paths where your data and info directories are.)
+  1) First, pick the world size you want to use.  Once you have chosen
+     a world size, edit the "data/econfig" file (it was either created
+     at build time, or shipped with the binary) and change the WORLD_X
+     and WORLD_Y to be the sizes you want. The default world size is 64x32.
+     IMPORTANT: WORLD_X *MUST* be divisible by 2.  In addition, if you
+     change the world size later, you *MUST* re-create the world by
+     running "bin/files" again.
+  2) Go into the "bin" directory, and run "./files".
+  3) If you want to create a new world, run "./fairland 10 30" to create
+     a sample world (read the documentation for fairland for more info on
+     it's arguments.)
+  Note that "files" and "fairland" use the world size in the econfig file
+  if it exists in the data directory.  If this file doesn't exist, and you
+  don't specify one, it will use the default world size the server was
+  compiled with (Wolfpack binaries ship with a 64x32 world size)  You can
+  create an econfig file with default values using the "bin/pconfig"
+  executable.
+
+(4) Running the server
+  1) Run the bin/emp_server executable to start the server.
+
+That's it.  Once running, you can log on to the server using the emp_client
+program found in the "bin" directory.  The initial deity country name/password
+is POGO/peter.
+
+If you get a "You're not a deity!" message and logged off, check the
+"data/server.log" file and look at the end for a "NON-AUTH" entry.
+There should be a "user@host" message in there that failed to log in.
+The user and host that your system is using may be different than the
+one you put in your build.conf file.  So, enter this new user and host
+in the auth file, and you should be able to log into the server as a
+deity now.  Note that if you rebuild the server again, the auth file
+will be overwritten.
+
+For more information on options, programs, files and other general hints
+look in the "doc" directory.  The README there describes the files there and
+what they talk about.
+
+For more information or help, send e-mail to "wolfpack@wolfpackempire.com" and
+we'll try to answer if we can.  Also check out our web site at
+"http://www.wolfpackempire.com"
+
+Have fun!
+
+ -- The Wolfpack development team...
diff --git a/build.conf b/build.conf
new file mode 100644 (file)
index 0000000..aa0a18e
--- /dev/null
@@ -0,0 +1,72 @@
+#
+# Below are a list of questions you may or may not need to answer.  They
+# are all one-liner.  Just change the default value if needed, and save
+# the file when done.  Have fun!!!
+#
+
+# Please enter your name:
+MYNAME = Wolfpack
+
+# Please enter your user name:
+# (For NT and the basic emp_client build, use "USERNAME = win-empcl2.8")
+USERNAME = wolfpack
+
+# Please enter your e-mail address:
+EMAIL = wolfpack@wolfpackempire.com
+
+# Please enter the host name you will be running on:
+# (For NT you can use "HOSTNAME = localhost" as this seems to be what it
+#  always resolves to if you use 127.0.0.1 below)
+HOSTNAME = blitz.wolfpackempire.com
+
+# Please enter the ip address of the host you will be running on:
+# (For NT you can use "IPADDR = 127.0.0.1")
+IPADDR = 216.162.200.183
+
+# Please enter the port you will be running on:
+PORTNUM = 6665
+
+# Please enter the directory where you want the files for the game:
+# (Note: Use a '/' to delimit directories.  For NT, include a
+#  drive letter.)
+EMPDIR = /home/wolfpack/emp4
+
+# Ignore this next value for all builds except NT builds.
+# For NT builds, use the above path, but replace the '/' with a '\'.
+# Note that NTINSTDIR is not used for non-NT builds, and can be ignored.
+# This is needed for the 'copy' comamnds, since they get very confused
+# with the normal path names.
+NTINSTDIR = C:\home\wolfpack\emp4
+
+# Please enter the C-compiler you are using (full path is allowed):
+# (For NT builds using MSVC, use "CC = CL")
+CC = gcc
+
+# Please enter the linker you are using (full path is allowed):
+# (For NT builds using MSVC, using "LD = ld" works fine.)
+LD = ld
+
+# Please enter the maximum number of countries you want:
+MAXNOC = 99
+
+# Please enter the world size you would like (WORLDX must be
+# divisible by 2):
+WORLDX = 64
+WORLDY = 32
+
+# Please enter if you are setting up a blitz (1 - yes, 0 - no)
+BLITZ = 1
+
+# Please enter the number of ETUs per update (must be divisible by 4):
+ETUS = 60
+
+# Please enter the frequency of the updates.  For example:
+#  Once per day - 1d
+#  Once every 20 minutes - 20m
+#  Once every 4 hours - 4h
+ETUFREQ = 10m
+
+# That's it... Save this file, and type "make <arch>" to build the
+# server.  If you are not sure of what architectures are supported,
+# just type "make" and it will tell you. (If you are building the
+# NT port, use "nmake" instead of "make".)
diff --git a/doc/CHANGES b/doc/CHANGES
new file mode 100644 (file)
index 0000000..625343a
--- /dev/null
@@ -0,0 +1,691 @@
+This file contains a list of patches/upgrades made to the server for a specific
+version.  It also contains the name of the author of that particular code.  It
+may not be complete.
+
+*version 2.0 beta 1 release 1*
+Fixed age.c so reserves degrade normally instead of growing! - Chad Zabel
+Fixed arch.c - replaced wrapp with what was supposed to be there - Ken Huisman
+Patched bug in atta.c - a temporary patch that could be done better
+( and will be later ) - Ken H.
+patched bug in lib/commands/mail.c - Dave Pare
+added patches to make code compile under linux - Ken H. based on linux chain 3
+patches by someone else whose name I forget.  Note at this time the code
+*compiles* under linux, but there are still bugs - the server seems to
+stop taking socket connections or something after someone logs out of the
+game.
+fixed a null pointer bug in lib/subs/bigmap.c - Chad Zabel
+
+*version 2.0 beta 1 release 2*
+Patch for exec bug - Chad Zabel
+
+*version 2.0 beta 1 release 3*
+Patch for zepplin bug - Jim Ortlieb
+Added unixware(svr4.2) specific stuff to arch.c - Doug Hay
+Changes to h/lwp.h and lib/lwp/lwp.c for thread stack checker - Doug Hay
+
+*version 2.0 beta 1 release 4*
+Modified fairland.c to 1.6.2 and made it so translate_continents is only
+called when BLITZ is defined  - Ken Huisman, Ken Stevens
+Modifications to lwp.h and arch.c to fix linux threads - Scott Ferguson
+
+*version 2.0 beta 1 release 5*
+Changed version number to 2.0.0 - Ken Huisman
+fixed unterminated path bug in lib/common/path.c - Scott Ferguson
+fixed first part of bug described in wish list item c6 ( false resupply ) -
+Scott Ferguson
+fixed part of bug described in wish list item t3 ( you have 666 new telegrams
+bug ) - the bug that tells you you have 1 new telex after just reading it is
+not fixed - Scott Ferguson
+
+*version 2.0 beta 1 release 6*
+Three letter abbreviations for all ships in ship.c - Chad Zabel
+the following by Kevin Klemmick:
+/lib/commands/rea.c                     // fixed telegram's problem reading '%'
+/lib/commands/mail.c                    // ditto for mail and wmail
+/lib/subs/aircombat.c                   // New air code and bug fixes
+/lib/subs/mission.c                     // New air code and bug fixes
+/lib/subs/pr.c                          // new prnf function an bug fixes
+/lib/subs/paths.c                       // fixes the getpath() bug.
+added NEWPAF and HIDDEN to options.h ( commented out for now until
+testing is complete ) - Ken H.
+
+*version 2.0 beta 1 release 7*
+Fix for fix for exec bug ( lib/player/player.c ) - Chad Zabel
+fixed minor bug in aircombat.c ( missing quote on line 613 ) - Ken H.
+
+*version 2.0 beta 1 release 8*
+lib/commands/mfir.c Bugfix... in quiet_bigdef, added in a check
+for forts >60%.  They were getting cheated out of their bonus in the return
+fire process. - Chad Zabel
+AIX Port: files
+lib/lwp/{GNUmakefile,arch.c,lwp.c,lwpint.h} and                             
+make/Systems/aix modified
+ - All changes are surrounded by #ifdef AIX32. 
+ - one change to lwp.c that will apply to everyone one error
+   message changed so it says underflow instead of overflow in the stack
+   checking code.
+- Bill Canning
+
+*version 2.0 beta 1 release 9*
+You can now specify how many mil to board a ship with (wishlist item a1) so
+you don't strand your ship.  This is implemented as another parameter
+in the board command.  Documentation for board updated too!  - Chad Zabel
+
+- Addition of the HIDDEN and NEWPAF Mods (Major addition). - Kevin Klemmick
+
+*version 2.0 beta 1 release 10*
+lib/player/player.c compilation under linux was broken by previous patches
+this is fixed now - Ken H.
+
+*version 2.0 beta 1 release 11*
+fixed compilation under sunos (lib/lwp/lwp.c had a couple odd '\' characters
+in it that caused the sun compiler to complain) - Ken H.
+
+*version 2.0 beta 1 release 12*
+added 3 character abbreviations for land unit names - Chad Zabel
+fixed bug in "show sect build" command - Ken Huisman
+added check in neweff command to see if sector is stopped - Chad Zabel
+added test for war declaration before abm launch - Chad Zabel
+
+*version 2.0 beta 1 release 13*
+added thread debugging stuff - Dave Pare
+changes to autonav code - Chad Zabel
+fixes for minor bug in land unit names - Chad Zabel
+fix for build.t in docs - Chad Zabel
+simple fix for spy command - Chad Zabel
+fix for telegrams - Julian Onions
+fixup of makefile in util - Julian Onions
+
+*version 2.0 beta 1 release 14*
+fix bugs in lwp - Julian Onions
+fix bug in edit that caused server crash - Julian Onions
+fix bugs in attack command that allowed free resource creation - Chad Zabel
+fix bug that made countries in sanctuary lose money - Chad Zabel
+
+*version 2.0 beta 1 release 15*
+io bug fixes and misc code changes - Dave Pare
+removal of sanctuary print statements to reduce logfile sizes - Ken Huisman
+DEC Alpha port - Dave Pare and Ken Stevens
+
+*version 2.0 beta 1 release 16*
+made compiling/configuring easier (see READ_THIS_FIRST) - Ken Stevens
+fix bug in info.c that caused crash - Janjaap van Velthooven
+fix for land units - Chad Zabel
+
+*version 2.0 beta 1 release 17*
+major improvements/cleanup of info pages and related files - Ken Stevens
+changes to compile scripts - Ken Stevens
+
+*version 2.0 beta 1 release 18*
+fixed missile sub abbreviation in ship file - Ken Stevens
+added "are you sure" in build command to prevent accidents - Ken Stevens
+fixed production simulation report showing "e" sectors producing - Ken Stevens
+fixed LandUnits subject not being listed in "info". - Ken Stevens
+fixed so unload only works in your sector or ally's sector - Ken Stevens
+fixed error in sweep when sector efficiency is printed - Ken Stevens
+fixed telegrams reporting bombing damage - Ken Stevens
+fixed cede so you can only cede to allies - Ken Stevens
+fixed coastwatch to show ship names - Ken Stevens
+build command gives informative error message if you are building
+in the wrong type of sector or the sector is < 60% eff. - Ken Stevens
+build command does not prompt for tech level if not given on command
+line - assumes current tech level - Ken Stevens
+tech for aegis cruisers was increased - Ken Stevens
+payoff command lists how many sectors ship has travelled - Ken Stevens
+fixed bug that allowed planes to bomb from an airport <60% efficient - Ken Stevens
+fairland now adds two visitor countries in its newcap script - Ken Stevens
+fixed bug that crashes the server when 'power' is first done in game
+without doing a 'power new' first - Ken Stevens
+test command no longer aborts if you don't have enough of an item in a sector,
+it still performs the test but gives a warning - Ken Stevens
+you now get a telegram when someone loads something onto your ship - Ken Stevens
+fixed documentation on happiness - Ken Stevens
+you now get the country name when a country becomes hostile, not just the
+country number - Ken Stevens
+fixed so start land unit is if1 instead of if2 - Ken Stevens
+
+*version 2.0 beta 2 release 1*
+Build command has last two arguments switched ( tech and number - documentation
+updated as well ) - Ken Stevens
+Added new info page summarizing whats new in Empire2 - Ken Stevens
+/info/Subjects/TOP.t now includes LandUnits subject - Ken Stevens
+info/Subjects/Server.t refers to the Empire2 info page now - Ken Stevens
+Bug in happiness and education calculation on zero population fixed
+- Ken Stevens
+Aircombat aborted wasn't being printed properly - fixed - Ken Stevens
+Plane types sorted to be consistant with ships and units - Ken Stevens
+Wish list item m2! fixed - missiles on interdiction missions on subs
+won't fire - missiles are now allowed to be on ships with "miss" capability
+- the missile code and the load code now agree as to what kinds of planes
+can be on what kinds of units - Ken Stevens
+Comments added to ship.c explaining why M_XLIGHT, M_UNIT and M_MSL no
+longer need to be set there ( they are automatically set in global_init()
+- Ken Stevens
+fixed wishlist item s16! - subs on interdiction missions no longer fire
+on other subs, when they don't have sub-torp ability.  - Ken Stevens
+fixed division by zero error in lib/subs/supply.c ( occurs when a cargo
+ship supplies itself to increase its efficiency in a harbour) - Ken Stevens
+cosmetic change to lib/commands/load.c - Ken Stevens
+Fixed wishlist item p9!  ( non-VTOL missiles won't fly missions unless they
+are in a 60% airport) - fixed by making all missiles VTOL by definition.
+- Ken Stevens
+lmine command now allows you to specify more shells than the unit has,
+and the unit will automatically resupply until all the mines specified are
+laid ( wishlist item l1?) - Ken Stevens
+The problem with land mines becoming sea mines is now fixed entirely
+(wishlist item c2!) - Ken Stevens
+0% banks, etc. no longer resist shell fire better than a 0% other sector type.
+( wishlist item c3!) - Ken Stevens
+fixed printing problem in sweep command - Ken Stevens
+fixed telegrams using the word "Oamage" instead of damage when reporting
+bombing damage. - Ken Stevens
+lib/global/init.c - cosmetic change - Ken Stevens
+added wall and shutdown commands and corrected syntax on some deity
+commands - Ken Stevens
+added pr_wall() which is like pr_flash() except that it prints to
+all connected players. - Ken Stevens
+added shutdown comand to shutdown server with warnings to connected
+players - Ken Stevens
+fixed reference to "info syntax" - Ken Stevens
+added toggle command, which allows players to set their "inform" flag, which,
+when set, causes the server to send a line to the client the
+instant the player receives a telegram - Ken Stevens
+flash command now checks for valid country number - Ken Stevens
+Added support for an empire configuration file so that the server can
+be reconfigured without recompiling (documentation on this included in
+README directory) - Julian Onions
+fix for standard empire client so it doesn't drop characters on long
+scripts - Dave Pare
+Changed flash command so that you only get flashes from your alllies if
+you have toggled your flash flag on - using 'toggle flash' to
+toggle your flash command on and off and documentation changed - Ken Stevens
+designate command now warns you if you are spending >50% of your money
+designating forts, and will ask you "are you sure?" if you are going
+to go broke from it - Ken Stevens
+A temporary input buffer needed a size increase in buil.c - Ken Stevens
+Wish list item c5! - fixes it so you are told how much it will cost when
+you are designating sectors, or converting civs to slaves, and it warns
+you if you are going to go broke from it.  The server will also not let you
+build, harden, or upgrade anything you cannot afford - Ken Stevens
+fixed -h parameter on server ( caused crash ) - Ken Huisman
+new commands added for use during navigation and unit marching - 'M' for
+ drawing a map and 'B' for drawing a bmap - Ken Stevens
+
+*version 2.0 beta 2 release 2*
+Deleted some files no longer necessary.
+ - deity "map" fixed - wasn't showing sector designations.
+ - deity "shutdown" fixed - didn't work.
+ - player "board" fixed - was loosing all mil on ships.
+ - Now when you "kill" emp_server (from your unix shell), it will send
+   the flash message "Server shutting down..." to all players logged on,
+   it will "abort" any command they were in the middle of with the message
+   "Shutdown aborted command" (like the way update aborts commands),
+   it will terminate the players connection (like the way idle
+   connections are terminated) and it will close all the database files.
+   In other words, "kill" fromoutside the server now does the same thing
+   as the deity "shutdown" command does from inside the server.
+ - New player command "strength" calculates sector defense strength
+   (including bonuses from reacting units but excluding air/fort/arty support).
+   I think this command will help newbies set up a defense better.
+ - If you've already compiled once, and you're just working on stuff in
+   the server, then you can now type "compile quick" which will skip
+   dependall, util, and client (and compile in about a quarter the time).
+
+The above were all done by Ken Stevens ( I think ) on b2r1b
+
+ - added "toggle beep" so that you can now play Empire without beeping
+   every time you fire if you so choose (handy for those emergency
+   updates in the department computer room).
+ - "configure" now asks you where you keep your "gnumake".
+ - Fixed a couple of bugs in the configure script
+ - "toggle" flags moved from player to natstr so they're saved
+ - fixed malloc() pointer mismatches to make cc happy
+ - ported "shutdown" to Sun4
+ - Julian Onions ported his econfig code to Sun4
+
+The above are from b2r1c
+
+The following are fixed ( as of b2r1d ):
+  - The infamous "scuttle" bug.  Now the owner of units is always set
+    to zero as soon as the unit is created.  (By "created" I am referring
+    to when you build 1 plane and ef_extend() creates 49 more -- the owner
+    of all 50 is now initialized to zero.)
+  - A C_INFORM packet was being sent to the client when an announcement was
+    made.  Oopsie on my part.  Now fixed.
+  - "fortifying" a unit no longer clears the unit's mission.
+  - New script "keepitup" is a modified isempireup except that you don't
+    have to put any info about the game in the file itself, so if
+    you're like me and you have more than one game running, you now only
+    need to keep one script around.
+
+b2r1e patch moved files from util into old/util
+
+b2r1f contained the following:
+This patch was submitted by Julian Onions.
+ - General option handling, + BLITZ option changes
+   throughout.  There is one new file lib/global/options.c which has the 
+   option definitions in.
+ - The following options are now dynamically switchable
+   NOFOOD, BLITZ, EASY_BRIDGES, RES_POP, NEW_WORK, 
+   NEW_STARVE, NO_PLAGUE, NEWPOWER ALL_BLEED, DRNUKE
+   SUPER_BARS, NUKEFAILDETONATE, PINPOINTMISSILE
+ - also fix up a stupid test in laun.c, and some reworking of the
+   SHIPNAME (plus a bug fix for Sub launched SHIPNAMES).
+
+b2r1g fixed a bug in b2r1f.
+b2r1h moved a file from old/util back to util
+b2r1i contained the following:
+This patch was submitted by Julian Onions.
+ - The following options are now dynamically switchable
+   FUEL, ORBIT, NEUTRON
+ - The new file README/README.config describes how to use the new "econfig"
+   runtime configuration stuff..
+ - Now when you type "version", you will also get the patchlevel of
+   the code.
+
+b2r1j contained the following:
+This patch was submitted by Kevin Morgan.
+ - xdist and ydist are now in player coordinates (wish list item i2)
+ - emp_client now calls termio until all bytes have been copied into
+   the socket (wish list item x19).
+
+b2r1k contained the following:
+This patch was submitted by Sasha Mikheev.
+ - This patch ports lwp threads to Linux.
+
+b2r1l contained the following:
+This patch was submitted by Julian Onions.
+ - Options NOMOBCOST and GRAB_THINGS are now runtime configurable.
+
+b2r1m contained the following from Ken Stevens:
+
+WARNING: Although I have heavily tested the code, I'm sure that it still has
+a significant number of bugs.
+
+This patch contains the following changes:
+ - fixed a bug in configure which was not making compile a csh script which
+   resulted in grep not working.
+ - shipdamage() now always multiplied by 63/m_armor.  I made the
+   appropriate changes to all places that call shipdamage().  Also,
+   shipdamage() will now tell the player exactly how much their ship
+   was damaged.
+ - a new function mpr(cnum, format, args) will pr() to cnum if they
+   are player and send them a telegram otherwise.
+ - sail, autonav, and nav now all call the same functions.  Thus mine
+   damage and interdiction damage are now calculated using exactly the
+   same formulas.  This makes heavy use of mpr().
+ - navigation now has two more lcommands.  "i" will list the ships you're
+   navigating, and "f" will change the flagship.
+ - Now you can type commands like this:
+   nav 72 jlsruMluBursh
+   That is, you can mix directions with other navigation commands.
+ - Interdiction of navigating ships now works as follows:
+   1. Forts interdict.
+   2. If there are any ships left, land arty interdiction fires.
+   3. If there are any ships left, ships on interdiction fire.
+   4. If there are any ships left, interdiction missiles fire one at a time.
+   5. If there are any ships left, interdicting planes pinbomb.
+ - I'm sure that I've made some changes which have slipped my mind
+
+b2r1n contained the following from Ken Stevens:
+
+WARNING: Although I have tested most of the new code, I'm sure that it
+still has a significant number of bugs.
+
+This patch contains the following changes:
+ - I went through all of the Empire info pages and updated them to
+   match the current code.  I completely rewrote large portions of the
+   following info pages: "move", "bomb", "launch", "navigate", and
+   "Plane-types".
+ - Fixed a bug in the "configure" script which was resulting in a pile
+   of "kw_read" erros in the logfile.
+ - Changed the logfile output to make it much easier to read.  Note:
+   this will break current logfile parsers.  I'll rewrite any that people need.
+ - It is now possible to specify start-tech/happ/research/edu in
+   econfig (Thanks Julian!).  I'm using this in my blitz to start
+   countries at tech 100.
+ - When things are damaged by interdiction, the sector they were
+   moving into will suffer collateral damage.
+ - Surface missiles can now be put on interdiction mission.  To
+   distinguish them from anti-ship missiles, the latter have been given
+   "marine" capability.
+ - Planes and missiles can now hold at most one nuclear warhead.
+ - Nuclear warheads on planes and missiles will now detonate when that
+   plane or missile flies an interdiction mission.
+ - I have removed the "n" option from the "bomb" command.  If you want
+   to nuke something, just arm the plane with a nuke and bomb "s".  This
+   simplification makes the above change consistant with "bomb".
+ - When you launch a satellite, then any country AT_WAR with you will
+   try to intercept it with a-sats.  This uses exactly the same code as
+   abm defense - two missiles are fired.  Also, if a satellite is
+   positioned over a sector which is not owned by your ally, then they
+   will get a telegram informing of the positioning.
+ - missiles on missions will stop launching once 100 damage has been
+   done (in the case of surface interdiction) or all the ship s have been
+   sunk (in the case of ship interdiction).
+ - deliver now costs the same as distribute (4x cheaper).
+ - there is now only one function called to determine whether a plane/missile
+   hits its target and how much damage is done (this includes abms and
+   asats).  Thus the chance of a plane hitting its target is now the same
+   whether the plane was flying a mission or flown by hand.  The only
+   exception to this is pinbombing land units where interdicting planes
+   have a 100% chance of hitting unlike pinbombers flown by hand which
+   have a chance of missing.  I plan to fix this later.
+ - many functions were rewritten to use mpr() instead of pr().  mpr()
+   checks to see if the person is interactive, and if they are calls
+   pr(), and otherwise calls wu().  All PR() functions should really
+   be changed to mpr() but I'm too lazy to do it.  Also, I'm sure that I
+   missed a few pr()'s and so the server may still occassionally try to
+   pr() to a player not logged on.
+ - I used lint to remove alot of unused variables, declare some
+   functions void, and fix unsigned char comparisons with zero.
+
+b2r1o contained the following from Ken Stevens:
+
+WARNING: Although I have tested most of the new code, I'm sure that it
+still has a significant number of bugs.
+
+This patch contains the following changes:
+ - Added "Friendly" relations--you can nav/load/unload in friendly harbours.
+   See info Empire2 or info relations.
+ - Changed the order of relations so now you can write code like
+   if (rel < FRIENDLY) ... or ... if (rel >= HOSTILE)
+ - Cap sacking now makes the news.
+ - Fixed a bug in sub interdiction (bug introduced by me in r1n).
+ - Fixed a bug in supply code (introduced by Julian in r1f).
+ - Moved relation-change stuff out of decl.c and into subs/rej.c setrel().
+   So now, no matter how a country becomes hostile, both parties will
+   get a tele and it will make the news.  Also, much of this code was
+   simplified using the new heuristic that bad rel is always < good rel.
+ - Changed spy output.  New headers are:
+   sect   type own oldown eff  civ  mil  shl gun  pet food bars units planes
+ - Changed all relevant info pages.
+ - Completely rewrote info relations.
+
+*version 2.0 beta 2 release 3*
+CC is now configurable - Ken Stevens
+"scuttle", "scrap", "mission", and "fuel" commands now let you put "l"
+instead of having to type "la" like before - Ken Stevens
+BIG_CITY option added - Ken Stevens
+fixed bugs in "demob", "navi", and setrel() - Ken Stevens
+fixed bug in flash command - Ken Stevens
+removed spurious \B from pr statement in torp.c - Julian Onions
+fixed missing issneak variable for SLOW_WAR case in atta.c and
+ assa.c - Julian Onions
+rej.c not using correct variable for SLOW_WAR option, fixed - Julian Onions
+parameters added to fairland.c as follows:
+-o             -- don't allocate ore (default is to allocate as before)
+-q             -- non chatty mode - little if any output
+-a             -- use the '*' mark to mark contents (AIRPORT_MARKER)
+-i             -- allow islands to crash and merge
+-s <file>      -- alternate script file (default newcap_script)
+- Julian Onions
+maketgame script added - used to make a temporary test game
+use as
+  maketgame -d /tmp/data 5 100
+to make a temporary game in /tmp/data with 5 countries and 100 sectors each.
+- Julian Onions
+fix to make compile script call bin/pconfig instead of util/pconfig
+- Craig Leres
+
+*version 2.0 beta 2 release 4*
+forts must be 5% efficient to fire or provide support( effic. level settable in
+ options.h - default is 5%) - Ken Huisman
+fixes for the BIG_CITY option - Ken Stevens
+another fix for compile.in - Ken Stevens
+added skywatch command - Ken Stevens
+fixed bug in "conv" command - Ken Stevens
+fixed error message in "launch" - Ken Stevens
+now you get a telegram if an enemy sat moves over your sector at the update
+- Ken Stevens
+attack command partially rewritten to clean up several problems - Chad Zabel
+launch command now checks to see if a ship was sunk by a ship-ship
+missile and tells the attacker - Chad Zabel
+new missile/anti-missile code - Chad Zabel
+configure script chokes if you are logged in more than once - Craig Leres
+fix for compiling with gcc 2.6.0 under sunos 4.1.4 regarding the
+sprintf() prototype in misc.h.in - Craig Leres
+got rid of two lines of code that didnt do anything in sail.c - Craig Leres
+fixed several other compiler warnings - Craig Leres
+server checks for invalid values of s_p_etu - Craig Leres
+some variables did not get initialized in lwp.c (fixed)
+ - Janjaap van Velthooven
+fixed and heavily modified deliver command - Ken Stevens
+
+*version 2.0 beta 2 release 5*
+fixed spelling error in desi.c - Ken Huisman
+new command "players" which lists all players currently logged on with idle
+time and last command - Ken Stevens
+several plane damage bugs fixed - Ken Stevens
+Interdiction damage now same as it would be interactively (ie. through
+shelling or bombing or whatever ) - Ken Stevens
+march command rewritten with a smoother interface - Ken Stevens
+fixed bug in attack command that crashed the server - Ken Stevens
+code changed so if your action caused a bridge to fall you see a message
+on the screen instead of getting a telegram - Ken Stevens
+man pages for the empire executables now available in the man
+directory - Ken Stevens
+fixed a server crashing bug in fuel command - Ken Stevens
+'c' sector is now called a "city" when BIG_CITY option used - Ken Stevens
+nuke subs now come at the same tech as nuke warheads - Ken Stevens
+deities no longer ever run out of BTUs - Ken Stevens
+
+*version 2.0 beta 2 release 6*
+Max range of anti-ship missiles reduced - Ken Stevens
+fixed it so you dont have to logout and log back in to re-enable commands
+when you come out of bankruptcy - Ken Stevens
+new skywatch command added for finding sats - Ken Stevens
+you can no longer fortify land units that are on ships - Ken Stevens
+missile range in launch vs. interdiction has been reconciled - Ken Stevens
+'tend' syntax now same as 'load', and you can now tend land units which
+have 'assault' capability - Ken Stevens
+fix for bug in realm command - Ken Stevens
+fixed a sector damage bug introduced in 2b2r4 - Ken Stevens
+fixed bug in show n b - Ken Stevens
+fixed typo in Interdiction.t - Ken Stevens
+fixed bug in telegram that caused server crash in certain instances - Ken Stevens
+commodity damage routines reconciled to ensure that people damage is always
+factored by the global variable people_damage. - Ken Stevens
+fixed news items that were mis-reporting - Ken Stevens
+fixed bug in missile-ship interdiction - Ken Stevens
+added support in emp_client for C_FLASH and C_INFORM messages - Ken Stevens
+fixed major bug in takeover() - Ken Stevens
+fixed an incorrect message which would get printed when nukes were
+dropped from bombers. - Ken Stevens
+pinbombing output changed slightly - Ken Stevens
+fixed bug in "land" - Ken Stevens
+fixed bug in "power" - Ken Stevens
+news cleaned up a bit - Ken Stevens
+new info page on clients added - Ken Stevens
+fixed several typos - Ken Stevens
+new map code - Chad Zabel
+fixes bug in BIG_CITY code when redesignated - Ken Stevens
+fixes bug in redesignating of warehouses when sector has large amount of an
+item - Ken Stevens
+fixed bug in new empire client - Ken Stevens
+improved 'play' command - Ken Stevens
+
+*version 2.0 beta 2 release 7*
+people with toggle inform on are now told at login if they have telegrams
+- Ken Stevens
+fixed bug in client - Ken Stevens
+fixed scheduled update scheme (updates were not firing) - Ken Stevens
+fixed negative avail bug - Ken Stevens
+mail and wmail commands removed from server due to bugs - Ken Stevens
+configure by default does not overwrite the hours file now - Ken Stevens
+"build b 2,2 j" now permitted - Ken Stevens
+fixed rounding error resulting in negative avail - Ken Stevens
+fixed several typos in the docs - Ken Stevens
+fixed sub-detect chance for asw planes - Ken Stevens
+prevent players from rejecting stuff from the deity - Ken Stevens
+removed missingmissiles option ( not used ) - Ken Stevens
+removed reference to now standard SHIPSAM option - Ken Stevens
+added "Balance of Power" page at the bottom of the news - Ken Stevens
+re-introduced "pray" command - Ken Stevens
+added collateral damage from missiles hitting units - Ken Stevens
+fixed bug in attack - Ken Stevens
+fixed bug in budget command - Ken Stevens
+fixed command cutoff command - Ken Stevens
+fixed bug in retr command - Ken Stevens
+"realm x" now gives error - Ken Stevens
+mfir and torp were not telling the attacker if the ship got sunk - Ken Stevens
+planes on carriers which were >80% eff were being reduced to 80% eff, fixed.
+- Ken Stevens
+
+*version 2.0 beta 2 release 8*
+fixed bug in pinbombing and interdiction - Ken Stevens
+server crashed when trying to get friendly nations to interdict - Ken Stevens
+bombers were being launched as interdiction missiles ( oops!) - Ken Stevens
+server crashing bug in flash - Ken Stevens
+
+*version 2.0 beta 2 release 9*
+got rid of annoying "destroying done" message - Ken Stevens
+compile.in changed - by default dont overwrite econfig - Ken Stevens
+new global configurable variable assault_penalty = 0.50 - Ken Stevens
+fixed commodity damage - Ken Stevens
+added global string var used by attsub.c - Ken Stevens
+added new option INTERDICT_ATT - Ken Stevens
+cities are now navigatable if BIG_CITY is on - Ken Stevens
+fixed server crash on friendly overfly - Ken Stevens
+changed march and lndsub to use attsub routines - Ken Stevens
+no longer get kicked out of navi prompt of you bump into something - Ken Stevens
+doubled ship pinbomb damage - Ken Stevens
+get warned if your message is truncated in flash - Ken Stevens
+fixed bug in strength command - Ken Stevens
+
+*version 2.0 beta 2 release 10*
+new starvation command checks for starving ships and units as well - Ken Stevens
+fixed a bug causing land units to starve - Ken Stevens
+added new [ynYNq?] syntax to attack - Ken Stevens
+fixed a bug that resulted in stranded units - Ken Stevens
+caps are called cities if BIG_CITY is on - Ken Stevens
+new power command allows syntax "power c 3/6/14" - Ken Stevens
+fixed bug in news report - Ken Stevens
+fixed spelling errors in info pages - Ken Stevens
+can now type sector number at marc and navi prompt to move unit there - Ken
+Stevens
+changed output format of budget - Ken Stevens
+can load and unload in 2% cities - Ken Stevens
+fixed bug that caused blitzes to starve if food was on - Ken Stevens
+fixed bug in plane maps - Ken Stevens
+changed YN to mean units in same army - Ken Stevens
+added "Attack aborted" message - Ken Stevens
+fixed bugs in plnsub.c, bomb.c budg.c - Ken Stevens
+fixed ship sunk bug in mfir.c - Ken Stevens
+added "Assault aborted" message - Ken Stevens
+fixed ship sunk bug in torp.c - Ken Stevens
+you can now unload to up to 9999 in a sector - Ken Stevens
+fixed bug in news - Ken Stevens
+removed BETTERABM option - Ken Stevens
+shutdown now asks you before automatically disabling updates - Ken Stevens
+fixed lots of nuclear detonation related bugs - Ken Stevens
+fixed supply bug - Chad Zabel
+fixed bug so nukes now dissapear when you use them - Ken Stevens
+harbour police bug fix - Chad Zabel
+land units no longer see planes on ships with look command - Ken Stevens
+fixes for autonav - Chad Zabel
+fixed bug that crashed server - Ken Stevens
+fixed paradrop bug - Ken Stevens
+ship damage improved - Ken Stevens
+made land unit abbreviations 4 chars long - Chad Zabel
+shortened the tele time tolerance from 60 sec. to 5 sec. - Ken Stevens
+rewrote atta/assa/para/boar - see Attack.t for details - Ken Stevens
+fixed bug in strength command - Ken Stevens
+
+*version 2.0 beta 2 release 11*
+fixed bug in strength command - Ken Stevens
+documented all the new attack stuff - Ken Stevens
+new arm command lets you specify groundburst or airburst at arming time - Ken
+Stevens
+fixed bug in cede command - Ken Stevens
+lowered damage land mines do to units - Ken Stevens
+consolidated commodity landmine damage code - Ken Stevens
+fixed minor bug in flash - Ken Stevens
+new documentation - Ken Stevens
+fixed bug in ship damage - Ken Stevens
+mi1's were interdicting commodities - fixed - Ken Stevens
+added to pre_write a check for 0 civ => oldown = own - Ken Stevens
+fixed minor bug in attack sub file - Ken Stevens
+fixed major bug in lmine - Ken Stevens
+changed repo output format to give more information - Ken Stevens
+fixed bug in setsect (deity command ) - Ken Stevens
+fixed ship and land unit starve routines - Ken Stevens
+new code replaces the old missdef code - Ken Stevens
+fixed bug in land unit starve code - Ken Stevens
+new deity command "swap" swaps two sectors - Ken Stevens
+fixed board estimate bug - Ken Stevens
+fixed bug in repo command - Ken Stevens
+updated more documentation - Ken Stevens
+updated keepitup script - Ken Stevens
+3 letter abbreviations for asats - Ken Stevens
+harbors now get warehouse packing bonus - Ken Stevens
+you can now type "decl h *" to declare hostile with everyone - Ken Stevens
+deities no longer start out at war with everyone - Ken Stevens
+coun command disabled (doesnt work right anyways) - Ken Stevens
+re-fixed news bug in torp - Ken Stevens
+made non-deity version of players command with limited info - so players
+can see if deity is on - Ken Stevens
+changed name of swap command to swapsector - Ken Stevens
+more documentation - Ken Stevens
+increased stack space and got rid of "idle connection terminated" message
+that would appear sometimes when you logged in - Ken Stevens
+fixed server crashing bug in decl command - Ken Stevens
+fixed a bug in repo command - Ken Stevens
+fixed bug in that you were becoming the oldown of conquered sectors
+immediately - Ken Stevens
+implemented prship() prland() and prplane() functions to simplify
+the SHIPNAMES stuff - Ken Stevens
+moved prbuf() to xy.c - Ken Stevens
+players now being told where missile is being launched from - Ken Stevens
+chance of missile exploding on launch pad reduced to
+5% * (1 - tech factor). - Ken Stevens
+fixed crash in missiles - Ken Stevens
+changed "geosynchronous" to "geostationary" - Ken Stevens
+fixed crash in torp command - Ken Stevens
+fixed a bug in nuke damage - Ken Stevens
+fixed a bug in getpath() - Ken Stevens
+fixed up the newbie intro info pages - Ken Stevens
+fixed bug in strength command using offense rather than defense strength - Ken
+Stevens
+improved launch output - Ken Stevens
+improved the way players interact with nukes - Ken Stevens
+gave update priority over shutdown - Ken Stevens
+fixed thread stacksize causing crash - Ken Stevens
+Planes will no only abort once they are less than 80% - Ken Stevens
+fixed bug causing scuttled object not to be printed - Ken Stevens
+fixed memory leak in atta/boar/assa commands - Ken Stevens
+removed the "warning: this isn't a warehouse" message in dist - Ken Stevens
+engineers with 0 mob can no longer hit a mine when trying to sweep - Ken Stevens
+changed "115% damage" to "115 damage" and added info on how to
+convert in "info Damage" - Ken Stevens
+changed shoot syntax to make it like move - Ken Stevens
+fixed bug in interdicting nukes - Ken Stevens
+added safety check for negative nukes - Ken Stevens
+75% sat now only sees 75% of sectors ( rest are blank ) - always the same
+25% are blank - Ken Stevens
+if you are over tech 290, you cannot build planes that are < tech 150
+- Ken Stevens
+fixed a bug preventing you from assaulting your own sectors - Ken Stevens
+no more multiple telegram updates - Ken Stevens
+cede 2,0 "sector" now works ( before only "sect" would) - Ken Stevens
+removed a couple noisy output lines in dist - Ken Stevens
+fixed bug in "test" command - Ken Stevens
+changed load and tend syntax to be same as move ( see info Move ) and
+rewrote lload, load, unload, and lunload, improving prompts, etc
+- Ken Stevens
+planes wich are less than 40% cannot fly - Ken Stevens
+improved the output of "report" - Ken Stevens
+fixed bug in budget - Ken Stevens
+fixed bug in "players" command - Ken Stevens
+if an attacker aborts an attack, the victim now gets a telegram - Ken Stevens
+extended toggle syntax so you can now type "toggle inform on" - Ken Stevens
+show output changed - Ken Stevens
+engineers stop working once a sector reaches 100% - Ken Stevens
+you are no longer asked if you'd like to "nuclear" bomb ( see info arm )
+- Ken Stevens
+cleaned up scripts and deity docs - Ken Stevens
+
+
+2b2r11 became empire 2.3.0
+further changes documented in CHANGES2.3
+
diff --git a/doc/CHANGES2.3 b/doc/CHANGES2.3
new file mode 100644 (file)
index 0000000..babcbec
--- /dev/null
@@ -0,0 +1,335 @@
+Unless otherwise specified, the changes in this file were made by Ken Stevens
+
+emp2.3.0.a.tar
+- port to IRIX - Janjaap van Velthooven
+- added "info Hidden"
+- added "doc/econfig"
+emp2.3.0.b.tar
+- fixed abm news message
+- reduced sam ranges to 2/3/4
+- fixed MAJOR bug in unload
+- arty now have to be 20% to fire
+- widened range in "player" command
+- fixed bug in "fuel"
+- fixed "starv l"
+- updated info pages
+emp2.3.1.a.tar      
+- harbours weren't getting packing bonus when importing on dist.
+emp2.3.2.a.sh       
+- removed a bunch of *.orig files
+emp2.3.2.b.tar      
+- added #include <unistd.h> to util/*.c for Linux compatability
+emp2.3.2.c.tar      
+- removed -g flag for linux because it made fairland crash on getopt()
+emp2.3.3.a.tar
+- fixed MAJOR bug in load
+- cleaned up some old global variables that weren't used any more
+- config.status no longer creates econfig (compile does it now)
+- gave _exit() an argument for Linux
+emp2.3.4.a.tar
+- fixed server crashing bug in pinbomb
+emp2.3.4.b.sh
+- cleaned out GNUdepend files for Linux
+emp2.3.4.c.tar
+- changed configure script to ask for IP address
+- made authorization check strict.  NOTE: this will make it harder to install.
+- added this file
+emp2.3.4.d.tar
+- fixed a MAJOR bug in attack that was taking too much mobility.
+emp2.3.4.e.tar
+- fixed a but that was dividing by # of civs rather than multiplying
+  by them for mountain caps.  OOPS.  This bug has been in the code for years!
+- changed the output of the "player" command.
+- fixed a minor bug in "load"
+- changed "return fire does 190% damage" to "return fire does 190 damage"
+- changed "power" so now you can specify country names in "power -c"
+- added "info BTU"
+emp2.3.4.f.tar
+- info pages are now separated into "Basic" and "Expert" level pages.
+  "Basic" level pages have a * beside them on the Subjects info pages.
+- reduced "flapping" of "players" random output.
+- now include self in repo * output.
+emp2.3.4.g.tar
+- a couple more IRIX patches - Janjaap van Velthooven
+- bugfix for upgrade command - Janjaap van Velthooven
+- extended syntax for one way orders - Julian Onions
+- fixed a bug that would crash the server if an abm blew up on the launch pad
+- fixed "was sunk at" message.
+- you are now told if you abandon a sector by marching out of it.
+- if you give someone back their cap by marching/moving/exploring out
+  of it, it gets changed into an agribusiness.
+emp2.3.4.h.tar
+- fixed a server crashing bug in mfir
+- telegrams to yourself no longer show up in the news
+- fixed a server crashing bug in show
+emp2.3.4.i.tar
+WARNING: I am not sure how portable this code is...
+- added hostname to struct player
+- all hostaddr validation now also checks against hostname
+- changed "player" command output to show time used and user@hostname
+emp2.3.4.j.tar
+- fixed a bug introduced in emp2.3.4.i.tar
+emp2.3.4.k.tar
+- players can now see which of their allies are logged on using the
+  "players" command.
+- fixed a server crashing bug in "players".
+- you are now allowed to scrap in friendly harbours
+- ask for double confirmation for scrapping trade ships (and tell
+  people to use "scuttle" instead).
+- fixed documentation for scuttle/scrap
+- you are no longer allowed to attack with supply, aa, arty, or
+  security units.
+- the procedure for determining tech, research, edu, and happiness are
+  now explained in precice detail in the info pages.
+emp2.3.5.a.tar
+- applied 3 patches from someone (sorry I forget who) they had to do
+  with POSIX compatability
+- fixed a MAJOR bug in ltend
+- fixed a bug in "starva" which was stealing food from harbours
+- fixed a server crashing bug which occurred when you hit return at an
+  attack prompt.
+- added a new command "echo" at Kevin Morgan's request
+- fixed a few minor formatting errors
+- fixed an output warning which you got when you aborted assaulting
+  your own sector
+emp2.3.5.b.tar
+- fixed a bug which gave land units positive mobility if they went
+  below -127 (e.g. marching into a mountain)
+- fixed a bug which required nuc missiles to have shells to launch
+- fixed a bug which was preventing choppers from landing on ships
+- fixed an error which prevented the server from compiling with
+  the ORBIT option off.
+- fixed a bug which would throw the server into an infinite loop if
+  two ships followed each other.
+- fixed a typo in scra.c that someone else's smart compiler caught.
+emp2.3.5.c.tar
+- cut sector damage in half (except for nukes)
+- fixed "WARNING: sector ownership changed" integrity check message
+- fixed "not in supplied harbour" message in "fuel" command
+- fixed "lost x% to starvation" message in production report
+- boarding mil no longer pack a lunch
+- The following changes were made to the sonar command:
+  - will only work from ships at sea
+  - will only detect ships at sea
+  - will now detect the shoreline
+  - will only detect things if there is a straight line of water
+    between the detector and the detected (no longer works around corners)
+  - now displays a map and changes your bmap
+  - for ships with tech > 310, shows mines on the map with an X and
+    puts the X on your bmap
+- fixed minor bug in input routine of "fire" command
+emp2.3.5.d.tar
+  - Never again will you see in the news:
+    TheBorg execution squads gun down helpless TheBorg civilians
+  - If you lay, sweep, or hit a sea mine, then an 'X' will automatically
+    be put on your bmap
+  - All ships (including subs) in harbors are now visible via the "lookout"
+    command by all ships (including subs) in adjacent sectors
+  - Fixed a bug in sonar which was hiding subs beneath 'X's
+emp2.3.5.e.tar
+  - Fixed a server crashing bug in supply routines (supply units were
+    drawing petrol from themselves in infinite recursion)
+  - Fixed a server crashing bug in attack code (bad return value)
+  - Fixed a server crashing bug in "declare" command (null pointer)
+  - Fixed a server crashing bug in "fire" command (use of freed
+    memory) - Yannick Tremblay
+  - Fixed bug in "edit ship" which wasn't displaying ship properly
+  - Engineers assaulting from landing ships were being charged too
+    much mob (bug fixed)
+  - User defined plane ranges were not being used by the mission code
+    (bug fixed)
+emp2.3.5.f.tar
+  - Fixed a number fo bugs related to shelling - Yannick Tremblay
+  - Fixed a MAJOR ship damage bug
+  - The budget command has been changed so that now you may choose not to
+    pay maintenance costs.  Also, "mil" on ships/planes/units has been
+    moved from the maintenance costs for those items to the "Military" section
+    of the budget.
+  - If you can not afford to maintain your ships/planes/units or you
+    choose not to maintain them using the "budget" command, then they will
+    loose ETU/5 % efficiency at the update.
+  - If you are broke at the point of the update when it comes time to
+    build something, then that thing will not be built.
+  - Broke countries are now allowed to use all commands except for:
+      arm assault attack board bomb build convert disarm drop enlist explore
+      fire fly grind harden launch lmine mine paradrop recon satellite scrap
+      shoot sweep torpedo treaty upgrade work
+  - Broke countries are now allowed to use these commands:
+      demobilize lload llookout load lookout lradar lrange lretreat ltend
+      lunload march mission morale mquota navigate order qorder radar range
+      retreat sail sonar sorder spy supply tend transport unload unsail
+emp2.3.5.g.tar
+  - Fixed a server crashing bug in budget command
+  - increased sea mine hitchance from mines/(mines+50) to mines/(mines+40)
+  - increased sector damage from 50 * dam / (dam + 50) to
+    100 * dam / (dam + 100).
+  - fixed a bug which was preventing engineers from tearing down 100% sectors
+  - added new <brief?> argument to sonar output which suppresses map
+  - reduced land mine damage from 10 + random(20) to 6 + random(10)
+emp2.3.5.h.tar
+  - Fixed server crashing bug in "morale" command.
+  - Engineers no longer "raise" eff from 100 to 92, they "lower" it.
+  - Engineers working are now only charged mobility for work they do
+  - Ships fueling themselves now loose petrol/oil
+  - Now, when a sector is abandoned or revolts, the takeover() function
+    is called to stop production, wipe distribution levels, etc...
+  - Engineers are now charged 1 mobility point per land mine laid
+  - Added number of land mines in the sector to the "strength" output
+  - Fixed lots of typos
+emp2.3.5.i.tar
+  - Fixed a bug in "bomb" which was preventing light bombers on acc's
+    from being able to take off.
+  - Artillery no longer consume petrol or food when they fire (they
+    only consume shells).
+  - increased land mine damage from 6 + random(10) to 10 + random(10)
+  - if land units are accompanied by engineers, then their chance of
+    hitting a land mine is divided by 3.  E.g. if there 
+    are 25 mines in the sector, then a land unit has a 33%
+    chance of hitting a land mine.  If it is accompanied by an 
+    engineer, then that chance drops to 11%.
+  - If an engineer sweeps a land mine that it cannot carry, it drops
+    it as a shell into the sector.
+  - Engineers now sweep a number of times equal to 2 times the number
+    of shells they can carry.
+  - The chance of an engineer finding a land mine in a sector is now
+    50% time the "att" value of the unit:
+          # of sweeps   chance of finding a mine
+old system   5            66%
+eng1  130    6            60%
+eng2  165    8            75%
+meng  260    8            90%
+  - The "visibility" of a sub to an ASW plane has been increased from
+    vis to 10 + vis * 5.  This should dramatically improve the chances
+    of ASW planes locating and hitting subs.
+emp2.3.5.j.tar
+  - changed visibility of subs from 10 + vis * 5 to vis * 4 in the
+    asw hitchance calculation.
+  - when subs on interdiction miss, both parties are now informed
+    (in the old system, neither party was informed)
+  - you are no longer allowed to hit subs with missiles (oops!)
+emp2.3.6a.tar
+  - Forts will now only automatically interdict ships that the country
+    would be able to see using the "coastwatch" command.  Ships out of
+    visual range will not be interdicted by forts.  Note that
+    ship/ship, unit/ship, plane/ship interdiction was not changed,
+    and also the "fire" command was not changed.  _only_ fort/ship
+    interdiction was changed.
+  - If a NEUTRAL (or worse) ship sails within your coastwatch range,
+    then you will receive a telegram like this:
+TheBorg lc2 light cruiser 2 (#666) sighted at -9,-1
+    This telegram is sent before any interdiction is done.
+  - When an ASW plane flies an interdiction mission to hit subs, it will
+    now also report on any subs it happens to see along the way (in
+    the same way it would if it were flown using the "sonar" command).
+emp2.3.6b.tar
+- now when you march or navi, any new sector designations
+  automatically appear on your nav map and get added to your bmap (you
+  no longer need to do a "look" to find out their designation.  Note
+  that subs will only see sea, harbors, and bridges and will have to
+  "look" (and risk detection) to see anything more.
+- you can now filter your satellite output to list, for example, only
+  banks owned by country #7 which are over 60% efficient.  The selectors
+  available are exactly the same as those used by the "census", "ship",
+  and "land" commands.  See "info satellite" for more details.
+- added two new toggle flags (default on):
+  - if "toggle coastwatch" is on, then you will receive a telegram every
+    time a neutral ship moves within your coastwatch range.
+  - if "toggle sonar" is on, then you will receive a telegram every
+    time one of your sonar cabale ships detects a sonar ping.
+- now a 20% engineer only does 20% of the "work" that a 100% eng does.
+- fixed a bug which was counting ghost units in "spy" output.
+- fixed a bug which was including sats as planes in "spy" output.
+- fixed a bug which was giving rebels ownershiip of sats over the sector
+emp2.3.6c.tar
+I have made asw interdiction more extensive and subs more sneaky.
+Here is the new system:
+- ASW planes will now fly out to track any non-FRIENDLY (including
+  NEUTRAL) sub movement.
+- However there is a chance that the plane won't even leave the ground
+  and notice any sub movement at all.  The chance of detection is
+  identchance = (1 - (1 - hitchance)^2).
+- ASW planes will no longer detect subs they fly over while flying an
+  interdiction mission.
+- Once the planes have arrived at the sector where the sub movement
+  was detected, then identchance is checked again.  If success, then
+  the plane is able to identify the owner of the sub.  If the owner
+  is neutral, then the player gets the message:
+        np1 naval plane 1 #2 tracks TheBorg subs at 2,-6
+  If the plane is unable to identify the owner of the sub, then the
+  player gets the message:
+        np1 naval plane 1 #2 detects sub movement in -3,-3
+  If the ship was identified as HOSTILE or AT_WAR, then the plane will
+  drop depth charges.
+- If depth-charges miss, then the ship owner will get
+  the message:
+RUMBLE... your sub in 24,0 hears a depth-charge explode nearby
+- torp and fire will now only tell the victim that a "sub" torped
+  them, or that return fire damaged a "sub" (rather than giving out
+  detailed information about the sub number, type, and owner...)
+- max sonar range has been reduced to 7 and sonar output no longer
+  prints blank lines.
+- sonar has been changed in the following way:
+  detection = (source "spy" value) + (target "vis" value)
+  If the detection value is less than 8, then sonar will just print
+    Sonar detects sub #12
+  If the detection value is above 7, then sonar will report the type of sub.
+  Only if the detection value is above 9 will the owner of
+  the sub be revealed.
+- For ASW planes flying "sonar" or "recon" missions, a similar change
+  has been made.  The plane needs to pass one identchance check to see
+  the type of sub, and needs to pass two identchance checks to see the
+  owner of the sub.
+- Note in both of the above cases, owner and type of FRIENDLY and
+  ALLIED subs will always be revealed.
+emp2.3.6d.tar
+- made scrap and scuttle more flexible
+- supply units, security units, aa-units and artillery can no longer
+  be put on reserve mission, and they will no longer react to a battle.
+- asw planes were tracking their own subs (oops!)
+- interest from banks no longer turns off at 60% efficiency.  Now the amount
+  of money you get from your bank is simply scaled by the banks efficiency.
+emp2.3.6e.tar
+- fixed MAJOR bugs in budget, scrap, and scuttle (oops!)
+emp2.3.6f.sh
+emp2.3.6g.tar
+- Fixed a bug in "work" which wasn't charging them enough mobility
+- Changed "capitol" to "capital" in a hundred million places
+- Updated a number of info pages
+- Fixed output formatting error in "sorder" command
+- Applied a patch from Jan van Beethoven (AIX port)
+emp2.3.6h.tar
+- fixed a bug which was causing dd's to interdict neutral subs.
+- wrote "info Hitchance" which outlines in detail the chance of
+  anything hitting anything else.  This page compliments "info Damage"
+  which gives all the damage formulas.
+- the defense strength of mountains was reduced to 16 to 8 (the
+  defense strength of a fort).  There was a problem of land units
+  in mountains being invulnerable to everything but nukes.
+emp2.3.7a.tar
+- missile interception (both abm and a-sat) has been changed so that
+  interceptors are chosen from the owner of the target sector first (so
+  that your ally's abm1's won't launch instead of your abm3's)
+- if a tradeship won't give the player any cash if it is scuttled
+  where it is, then the player will be asked for a second confirmation
+  before they are allowed to scuttle it.
+- applied a patch from Ville Virrankoski which fixes a bug in budget
+  (the cost to repair planes on aircraft carriers was not being included
+  in the budget)
+- fixed a bug which was preventing bombers from being able to drop nukes.
+- fixed a bug which let asw planes bomb subs they couldn't see
+- fixed a bug that was sending a telegram to the deity when planes on
+  an acc flew air defense missions.  An obscure but annoying bug.
+- changed isblank() to blankrow() in lib/commands/sona.c for portability
+- fixed a server crashing bug in lradar (some coder put a global
+  variable in lib/commands/rada.c BAD BAD BAD)
+emp2.3.7b.tar
+- fixed a bug in bomb which put the server into an infinite loop when
+  the player aborted at the "commodity to bomb?" prompt.
+- when your cap is sacked, you now get a telegram telling you how much
+  money you lost and they gained.
+- when your cap is sacked, then your cap will be moved to a random
+  adjacent (possibly unowned) sector (the treasurers fleeing the
+  palace).  This was mainly done because players were retaking mountain
+  capitals every update (you can't redes a mountain to be an aggie!)
+- added three new files in the doc directory: "PRIORITY", "WISH_LIST"
+  and "WACKY_IDEAS".
diff --git a/doc/CHANGES3.0 b/doc/CHANGES3.0
new file mode 100644 (file)
index 0000000..fa09757
--- /dev/null
@@ -0,0 +1,449 @@
+Empire 3.0.0
+- Implemented the C_SYNC RFC
+  - New commands:
+    sync
+    toggle sync
+    toggle async
+  - New files:  
+    h/edb.h
+    h/toolkit.h
+    lib/commands/sync.c
+    lib/global/edb.c
+    lib/subs/prsync.c
+    info/Commands/sync.t
+    doc/CHANGES3.0
+- New struct members (currently not used)
+  - player.comhistory command history (for debugging) last 10 commands
+  - nat.nat_mission_trigger set which relation you want to trigger
+    various missions and autodefenses at.
+  - Added land.lnd_scar -- how experienced the land unit is.
+  - sect.sct_mobil was changed from unsigned char to short (to permit
+    the removal of updates--note I don't plan to remove updates, but
+    someday someone might try and they will need this so that sectors can
+    go to negative mob).
+- New struct members (currently used):
+  - Added type field to all objects so they can identify themselves
+  - Moved var structs to the top of all class structs for easy location
+    (see struct genchrstr defined in h/genitem.h)
+  - nat.nat_hostaddr, nat.nat_hostname, nat.nat_userid, userid and hostname
+    of last person to connect to that country.  If when you login,
+    your userid or hostname is different from the last person to conenct
+    to that country, then you will get a message like:
+Last connection from: Mon Nov 13 01:48:04 1995
+                  to: Mon Nov 13 01:48:12 1995
+                  by: children@RedDragon.Empire.Net
+    this will improve security and be helpful for co-rulers.  Also
+    added were nat.nat_last_login and nat.nat_last_logout.
+  - Nation now has 50 realms.
+- New global constants:
+  - Extended nsc ("next selection conditionals" e.g. cen * ?mil=5) to
+    support C_SYNC messages and include the objects "map" (bmap), and "nation".
+    These will transmit to the client the equivalent of "dump", "ship",
+    "car", "land", "lcar", "bmap", and "nation" output and more.
+  - Added nsc entries for the following classes: sect, ship, plane,
+    land, nuke, map, item, product, and version.  These will transmit to
+    the client the equivalent of the "show" and "version" command output
+    and more.
+
+Empire 3.0.1  C_SYNC 0.0.1
+- changed the order of the struct members of sect, ship, plane, land unit,
+  nuke to put own and uid out front (note this results in a new version
+  of the C_SYNC protocol)
+- fixed a bug in "sync object" which was sending erronious data
+- for now all C_SYNC messages will automatically send uid (or x,y for sects).
+  this should be changed to implement "surfacing noises" and interdiction.
+- whenever any of your sect, ship, plane, land unit, or nuke changes,
+  you will get a C_SYNC message describing the entire new struct.
+  - Note this occurs everytime the data changes EXCEPT for changes
+    which happen durring an update.  For now, I will require clients
+    to call "sync object all" after an update if they want to sync their
+    database after the update.
+  - If you loose a sect, ship, plane, land unit, or nuke, then you will
+    get a very partial C_SYNC message only telling you the id and new owner.
+- look, spy, coastwatch (async & sync), now all send you partial
+  C_SYNC messages telling you information about your enemy's stuff.
+  - Note: For now, you get precise information about the number of mil in
+    the sector etc...  This will be fixed in 3.0.2
+
+Empire 3.0.2  C_SYNC 0.0.2
+- there is now only one announcement file which all countries post to
+  and read from.  the wire syntax has changed to "wire [y|n|<days>]" to
+  allow you to read announcements from <days> days ago if you want.
+- at each update, all announcements older than 7 days (deity
+  configureable as #define ANNO_KEEP_DAYS in misc.h) are automatically
+  deleted.
+- a player's bmap can now be changed (e.g. by planes flying missions)
+  even when they're not logged on.
+- added a new command "sharebmap <COUN> <SECTS>".  If <COUN>
+  is friendly towards you and your bmaps already share enough information
+  in common, then your bmap will be added to their bmap.  For more details
+  (there are alot more details) connect to empire.net 7773 1-10 and type
+  "info sharebmap".
+- now whenever a designation gets added to your bmap, the client will
+  receive a very small C_SYNC MAP_CLASS message
+- when your country's money, reserves, cap location, name or origin
+  changes, you will get a C_SYNC NAT_OBJECT message with your new nation
+  data.  Client writers take note: there is a new field in the nat
+  struct called "xstart,ystart" which is the start location of the
+  origin.  So if the client needs to make some transformation of the
+  co-ordinates, it can refer to this variable.
+- when you type "nation", that will also send a C_SYNC NAT_OBJECT
+  message to the client.
+- removed a bunch of fields from the C_SYNC nat struct (to cut down bandwidth)
+  (this results in a new version of C_SYNC).
+- information about enemy commodities, tech, or efficiency are now
+  rounded to the nearest 10.
+
+Empire 3.0.3  C_SYNC 0.0.3
+- added three new land units: "cavalry 2", "light infantry", and
+  "aau1".  Here's the basic scheme.  The old cavalry are an average
+  between the somewhat weaker cav1 and somewhat stronger cav2.
+  light infantry are half the size of and slightly fastar than inf1's.
+  "aau1" come at the same tech as Zepplins and let low tech countries
+  try to throw rocks at low tech planes...
+- reduced the size of "ts1 trade ship 1" to 100 lcm, 50 hcm, $1500
+  (from 200 lcm, 100 hcm, $2500).  Most players were waiting for ts2
+  so this is a nice way to deal with that.
+- after each update, all countries receive the message "C_SYNC EDB_UPDATE".
+  (this results in a new version of C_SYNC).
+- all telegram files have been moved into a subdirectory called "tel".
+- new subdirectory of the data directory "sync" holds spooled C_SYNC messages.
+- if the player is not logged on when they receive a C_SYNC message,
+  then it will be spooled to their sync file.  If the sync file
+  contains spooled messages older than 3 days (deity
+  configurable as SYNC_KEEP_DAYS in misc.h), then the C_SYNC message will
+  not be spooled.
+- New command "sync read [yes|no]" reads all spooled C_SYNC messages.
+  If the [yes|no] argument is not specified, the player will be asked:
+  "Can I throw this information away now?".
+- Removed the "bdes" command.  It is no longer necessary (since the
+  server now automatically adds 'X' sectors to your bmap, and it also
+  automatically adds sectors that your planes fly over when they're
+  flying missions).  The "bdes" command in conjunction with the new
+  "sharebmap" could lead to abuses, and since it is no longer really
+  necessary, I removed it.  Given the choice between sharebmap and bdes,
+  I think most players would choose sharebmap.
+- The delivery and distribution stuff was removed from the output of
+  "commodity" and each column was widened to 5 characters (to accomodate
+  the new system where sectors are now allowed to hold up to 9999 of stuff)
+- IP addresses will now only be resolved into hostnames if RESOLVE_IPADDRESS
+  (in misc.h) is defined.
+- Mountains will now mine gold at 1/5th the rate that gold mines do (thar's
+  gold 'n them thar hills!)
+
+Empire 3.0.4 beta  C_SYNC 0.0.4
+- If the game is a blitz, then the "players" command will list other
+  countries which are logged on.  This will cut down on the "is anybody
+  else logged on?" announcements.  Note that for players, "last command"
+  and "user@hostname" are not printed (only deities get to see this stuff).
+- fixed a server crashing bug in "sync class all".
+- each country now has two bmaps, their 'working' bmap and their
+  'true' bmap.  The true bmap contains only information put there by the
+  server.  The working bmap also contains information put there by the
+  bdes and sharebmap commands.  The "bmap" command usually displays the
+  working bmap unless the player specifies "bmap <SECTS> true".  Also,
+  if the players working bmap somehow becomes corrupted, then they can
+  type "bmap <SECTS> revert" to revert their working bmap back to their
+  true bmap.  This change was necessary to prevent abuse of the new
+  "sharebmap" command (which now compares the players true bmaps when
+  determining whether they overlap).
+- There is a new info page 'info Empire3' which contains game changes
+  of particular interest to players.
+- Put the bdes command back in.
+- Added a new question in the "configure" script: "Do you require your
+  server to be unusually small?".  If the deity answers "yes" to this
+  question, then many bells and whistles will be turned off to generate
+  a lightweight "bare bones" Empire server.
+- I have padded each object struct out by a spare char, int, and long.
+  This is to give me room in the coming months in case I need to make
+  a change which needs data in the object structs, and I don't want to
+  invalidate currently running long term games.
+- Tested the HIDDEN and SLOW_WAR mods (these hadn't been tested for
+  the Empire2+ server yet).
+
+Empire 3.0.5 beta
+
+Note: the primary focus of this upgrade is to address the f1
+SAM-soaking problem.  The solution I adapted is a mixture of ideas
+from various people--mostly not myself.  I appologize for forgetting
+whose ideas these were, and I hope that in consolation for not
+acknowledging you, you will at least be happy that I implemented
+your ideas.  This was a pretty big job.
+
+- In the old system, planes would be charged either 10 mobility
+  (interceptors), 12 mobility (escorts) or 20 mobility (the rest) per
+  flight.  This cost was then multiplied by (100/eff) with the
+  restriction that plane mobility could not go below -32.  Planes flying
+  missions were charged only 1/4 of this.  In the new system, planes are
+  charged a base rate of 5 mobility to prepare for takeoff.  On top of
+  this, they are charged a "flight cost" which is either 10 (interceptors
+  and escorts) or 20 (the rest), however this flight cost is scaled down
+  according to the length of the flight--it is multiplied by (flight
+  length) / (max plane range).  The flight cost is then scaled by
+  (100/eff) with the restriction that a plane can't go below -32
+  mobility.  Planes flying missions are charged 1/2 of this.
+- The mobility of a plane will now go down by one point for every two
+  points of damage it took from air-to-air combat, to a limit of -32
+  mob.  This is to simulate the high mobility cost of air-to-air combat,
+  and the fact that air-to-air combat is more effort for low tech planes.
+- SAM interception is now separate from plane interception; for each
+  attacking plane, if the plane cost at least $1000 to build, then one
+  SAM will be launched at it.  After SAMs have been fired, fighter
+  planes will intercept what's left over.
+- The restriction that high tech nations can not build low tech planes
+  has been removed (the above changes address the f1 SAM-soaking problem).
+- marine missiles on interdiction now fire at a single ship rather
+  than the whole fleet.  They pick the ship which is the most valuable
+  according to (cost to build) * efficiency.  Furthermore, marine
+  missiles will only launch at a ship if the ship cost at least $1000
+  to build  or if it can carry land units or planes.
+- the NEWPAF option has been made standard.
+- fixed a bug which wasn't giving a +1 radius bonus to units in 60% HQ's.
+- "toggle sync on" now sends back a "sync version" as per the RFC.
+- fairland now prints an error to stderr if it can't grow the
+  continents (it used to just print the last partially built map).
+- when you break sanctuary, your 100% sanctuaries turn into cities and
+  all your other sanctuaries turn into roads (this is helpful for
+  games which use "bigstart").
+
+Empire 3.0.6  C_SYNC 0.0.5
+- Fixed a bug in the attack code which was underestimating defense
+  strength (it was only giving the sector defense bonus to land
+  units--not mil).  Note--the bug was only in the estimation part, so
+  countries were not being given a chance to abort attacks where the
+  odds were clearly against them.
+- Mountains can now only hold 1/10th as many civs as normal sectors.
+- Raised the gold production efficiency of mountains from 20% to 75%.
+- Changed fairland to put gold in mountains.
+- flash and wall messages are no longer truncated.  Instead the message
+  is split into 60 character pieces which are transmitted one at a time.
+- If the game is HIDDEN then non-contacted countries no longer show up
+  on your "relations" output.
+- If the game is HIDDEN and you try to declare relations with a
+  country you haven't contacted yet, then you will now get an error
+  message (before you got nothing at all).
+- Update production reports are now Production Reports again (they
+  were BULLETINS since Empire2.0.0).  This will fix a bug which was
+  preventing players from being "informed" when they get an update telegram.
+- The new info page "info Mobility" gives the formulas for all
+  mobility costs in the game.
+- Before you type a telegram, you will now see:
+    Enter telegram for Fodderland
+    undo last line with ~u, print with ~p, abort with ~q, end with ^D or .
+    1024 left:
+  The new tilde escapes work very nicely.
+- The prompt for escorts has been changed from "plane(s)? " to "escort(s)? ".
+- Changed the mobility cost to move into a sector from
+    cost = (mcost - eff) / 5
+  to:
+    if (mcost < 25)
+      cost = (2 + (3 - mcost) * eff) / 5
+    else
+      cost = (mcost - 20 * eff) / 5
+
+OLD SYSTEM: eff   0%  100%     NEW SYSTEM: eff   0%  100%
+              +  0.2   0.0                   +  0.4   0.0
+              m  0.4   0.2                   m  0.4   0.2
+              ^  5.0   4.8                   ^  5.0   1.0
+
+  Note that this means land units can attack 100% mountains now, so
+  there will be a tradeoff for the defender--either they can have a low
+  efficiency mountain that costs more mobility to attack but gets a
+  lower defense bonus, or they can have a high efficiency mountain that
+  costs less mobility to attack but gets a higher defense bonus.
+- New conditional query "coastal" which gets set when you take a
+  "census" of the sector.  Type "cens * ?coast=1" to get a list of all
+  of your sectors which are adjacent to water (and thus vulnerable to
+  assault).
+- Added a new C_SYNC field to SCT_OBJECT called "coastal".  This results
+  in a new version of the C_SYNC protocol.
+
+Empire 3.0.7
+- Fixed a server crashing bug in the sneak attack code
+- Sectors with 0 mobility can no longer enlist mil
+- In a HIDDEN game, you can now only see relations for countries you
+  haven't met yet
+- Fixed a bug in the "Last login from" part of the login sequence.
+- added new global array player_commands which keeps a list of the
+  last 100 commands typed by players.  Added a file doc/debugging which
+  explains to deities how they can access this list.
+- Fixed a bug that would prevent you from being able to assault your
+  own sector if SLOW_WAR was enabled.
+- In a HIDDEN game, llook will now contact.
+- Fixed a bug in the SLOW_WAR mods which was charging people WarCost to
+  declare war when their enemy was Sitzkrieg towards them.
+- Fixed a bug in HIDDEN--sending a telegram or auto-coastwatch
+  sighting ships will now both contact.
+- Fixed a bug in SNEAK_ATTACK--you are no longer charged for boarding
+  a non-at-war ship.
+
+Empire 3.0.8
+- Removed an infinite from the autonav code.
+- Fixed the "client" login command.
+
+Empire 3.0.9
+- Consolidated budget code for ships, land units, & planes (Ville Virrankoski)
+
+Empire 3.0.10
+- Fixed a bug in radar (anonymous)
+- Ported the server to Ultrix (Yannick Tremblay)
+
+Empire 3.0.11
+- Port to FreeBSD (submitted by Janjaap van Velthooven)
+- Fixed a server crashing bug in range command
+- Fixed a bug which gave players free info when they shelled deity bridges
+  (reported by Jim Gillogly)
+- Small ships can now fuel in cities (reported by Walter Smith)
+- Fixed compile bug in wu.c (reported by Curtis Larsen)
+- Documented toggle sync and toggle async (reported by Bernhard Reiter)
+- Fixed a bug in shoot which was leading to abuses (reported by
+  Nathaniel Thurston)
+- route now prints % sectors (reported by Nathaniel Thurston)
+
+Empire 3.0.12
+- mkmf is no longer needed to compile the server (Michael Straub)
+  NOTE: This change depends on "cpp -M" working on your system.
+- A number of bug fixes to the "budget" command (Ville Virrankoski)
+
+Empire 3.0.13
+- Fixed a bug in "budget" command
+- If cpp doesn't exist on the system, then "cc -MM" is used in place
+  of "cpp -M"
+
+Empire 3.0.14
+- Extensive consolidation of "budget" command with update routines
+  (Ville Virrankoski)
+- Fixed some of the portability problems arising from the switch to "mkdep"
+Empire 3.0.14a
+- Fixed a server crashing bug in the update routines (introduced at 3.0.14)
+
+Empire 3.0.15
+- Fix of a MAJOR bug in the budget/update routines which was
+  overcharging countries for military reserves (Ville Virrankoski)
+- Simplification & fix of mkdep/configure (Yannick Tremblay)
+- Port to Solaris 5.5 (Ron Kuris <rk@unify.com>).  Here are the notes
+that came with the Solaris port:
+----------------
+These are the patches to make the new server work on Solaris.
+Some notes:
+
+    My environment is that we have cc from Sun, but no license.
+    We have gcc installed as /opt/gnu/bin/gcc.  Although it was
+    built with Solaris 5.4, it works fine on 5.5.  If you need
+    gcc, use archie to exact search for FSFgcc.gz (I found it
+    on qiclab.scn.rain.com in /pub/solaris).  You also need
+    FSFtools.gz for gnumake.  These packages install very easily.
+
+    While running configure, your 'gnumake' is /opt/gnu/bin/make,
+    and the compiler you should use is /opt/gnu/bin/gcc.
+
+    My build path is something like:
+    PATH=/opt/gnu/bin:/usr/ucb:/usr/bin:/usr/sbin:.
+
+    Once you apply the patches, everything seems to work.
+
+Whoever integrates this into the mainstream:
+    The change to client/GNUmakefile is the only one I think
+    that might need tweaking.  It sets the default build flags
+    to Solaris (somehow I don't think you want that).  I tried
+    pretty hard not to break anything else.
+
+    The change in lwp.c I think is just an outright bug, but
+    most versions of the lwp system dependent stuff just happen
+    to get lucky by not saving the registers.  This should NOT
+    be relied upon!
+----------------
+
+Empire 3.0.16
+- Optimization of mkdep (Yannick Tremblay)
+- Moved solaris from emp3 to emp3/make/Systems (Ron Kuris)
+- Minor enhancement to "lcargo" code (Ron Kuris)
+- Fixed a bug which had setting budget priorities on land units
+  result in being charged twice for them (Ville Virrankoski)
+
+Empire 3.0.17
+- "read" command now sends a C_SYNC nation message.  (Curtis Larsen)
+- Fixed a bug which was deleting the announcement file when there were
+  no announcements (reported by Ed Down).
+- Fixed "~u" tilde-escape for "telegram" and "announce" commands (it was
+  possible to undo back past the beginning of the buffer and crash the
+  server (reported by Nathaniel Thurston).
+- mkdep optimization (Yannick Tremblay).
+- Changed syntax for "cede" command so that you can specify "se" or
+  "sh" on the command line (reported by Tero Paananen).
+
+Empire 3.0.18
+- fixed a serious bug in configure and mkdep which prevented the
+  server from compiling
+
+Empire 3.0.19  Ken Stevens  17 Apr 96
+- Fixed a serious bug in the Empire3 server which allowed players to
+  create an infinite number of shells and food out of nothing.
+  I added a new field "simulation" to the player struct and set this
+  field to 1 in all update simulation commands (budg, prod, neweff).
+  Then in the update code, instead of checking the variable update_pending
+  to determine whether the update is "for real", I check the player->simulation
+  variable.  Note that when the commands sneweff, pneweff, and lneweff
+  get added to the server, they should also set player->simulation to 1.
+- subs/takeover.c added a check to make sure the number of che doesn't
+  overflow (Paul Byrne)
+- update/revolt.c.  It fixes two problems.  First, after security
+  forces kill che, if there are no che left, the function returns
+  without saving the zero-che value.  Worse, it never checks for
+  negative che values, which looks like it could happen.  The second one
+  is in che moving.  It loops through the neighbors looking for the best
+  place to move.  Problem is, if it finds a place to move it doesn't
+  move to that place, but simply to whichever place it last looked.
+  (Paul Byrne)
+
+Empire 3.0.20  Ken Stevens  21 May 96
+[from 3.1.2]
+- fixed a serious bug in the "production" command which could cause
+  a server crash (Steve McClure).
+- fixed a bug in the "starve" command which could suck all the food
+  off of a ship or land unit on the ship (Steve McClure).
+- fixed a bug in the "deliver" command mis-interpreting the return
+  value of the putvar function (Steve McClure).
+
+[from 3.1.3]
+- Fixed a bug in road mobcost calculation (Steve McClure)
+- Fixed a bug in the toggle command (reported by Keir Novik)
+
+[from 3.1.6]
+- Fixed a bug in the attacking code where moving mil into a sector was
+  going on.  It would probmpt for the max amount of mil to move in
+  by mobility, but when you moved in it never checked, so you could still
+  move all the attacking mil in (Steve McClure)
+- Fixed a bug in fairland (Ken Stevens - reported by Janjaap van Velthooven)
+- Fixed a bug in map C_SYNC (Ken Stevens - reported by Markus Armbruster)
+
+[from 3.1.7]
+- fairland.c.  Better representation of the map for >30 continents.
+  The markings for continents start wrapping for more than 62 continents,
+  the map won't get any control characters anymore (Janjaap van Velthooven).
+- C_SYNC. forces a newline whenever data with a different id is appended to a
+  partial line.  Caveat: this sacrifices the line structure to correct
+  the line tagging (Markus Armbruster).
+- Fixed a bug which wasn't printing the last row of `sync object bmap'
+  in god's coordinate system (Markus Armbruster).
+
+[from 3.1.16]
+- port to Ultrix (Markus Armbruster)
+
+Empire 3.0.21  Ken Stevens  1 July 96
+- fixed a bug in reco & sat which wasn't putting a carriage return
+  after land units.
+- fixed a bug in starvation command which sent the user a telegram
+  telling them how much each of their land units lost due to starvation.
+- fixed a bug which would send you a message "RUMBLE...your sub hears
+  a depth-charge explode nearby" when you weren't navigating subs
+  (reported by Keir E. Novik)
+- increased buffer size in emp_client from 1024 to 4096 for sync
+  class version (reported by Markus Armbruster)
+- fixed a bug in revolt code which could damage a sector below 20%
+  without checking if it was a bridge (reported by Pat Loney)
+- fixed a bug in SLOW_WAR which prevented you from re-inforcing your
+  own sector by assaulting (Aaron Dewell).
+- fixed a bug in sack capping news item (reported by Ed Down)
+- fixed a server crashing bug in "offer" command (reported by Jon Wright)
+- fixed a bunch of info files (reported by Keir E. Novik)
diff --git a/doc/CHANGES4.X b/doc/CHANGES4.X
new file mode 100644 (file)
index 0000000..1115ce1
--- /dev/null
@@ -0,0 +1,1294 @@
+Changes to Empire 4.2.12 - Mon Aug 18 16:54:21 MDT 2003
+ * Corrected contact information for Wolfpack.
+ * Sector isn't abandoned until move or explore is complete.
+ * Fixed multiple cases where return value of getstarg() was
+   used without being checked which crashed the server.
+ * Used stdarg.h instead of varargs.h.
+ * Call only_subs and save result before mission frees attacker
+   list.  Call with free list could cause server crash.
+ * Fixed spy sat map for units on opposite side of world wrap.
+ * Don't sleep in main thread when called from signal handler.
+ * Fixed error checking in pthreads.
+ * Properly detach pthreads.
+ * Pass unlocked mutex to pthread_mutex_unlock.
+ * Cope with interrupted sleep in pthread empth_sleep to prevent
+   double update.
+ * Added server configurable update window.
+ * Initialized variables passed to setsockopt in accept.c.
+ * Fixed bug where sharing bmap with uncontacted country crashes
+   server.
+
+Changes to Empire 4.2.11 - Sun Sep  1 09:54:59 MDT 2002
+ * Added compile option for the Mac OSX architecture.
+ * Fixed bug in cargo where unit array was indexed by shp_maxno
+   instead of lnd_maxno.
+ * Fixed bug in reject where aborting the command crashes the
+   server.
+ * Can't buy land units into enemy headquarters.
+ * Added sabotage command and commando unit.
+ * Spies moving by themselves will not trigger interdiction.
+ * Fixed error in map distance calculation that caused errant
+   interdiction.
+ * Ships going under -127 mobility will be set to -127 mob and
+   not roll over to positive mobility.
+ * Corrected plane cost in info Maintenance.
+ * Changed error message for loans rejected for being too big.
+ * Land units will take casualty damage proportional to their
+   ability to carry mil.
+ * Fixed bug where "route i *" crashes server.
+ * Cannot upgrade planes in orbit.
+ * Fixed bug in declare with deity aborting command at last
+   prompt crashes the server.
+ * Coastwatch notify works with NO_FORT_FIRE option.
+ * Thread that kills idle connection will charge player for
+   minutes the player was logged on.
+ * Removed separate sendeof at end of execute from emp_client
+   that logged players off on certain platforms.
+ * Updated player idle counter during read prompt so players
+   wouldn't be kicked off during long flashes or writing telegrams.
+ * LOSE_CONTACT will work as advertised.
+ * Allied units marching through 0 mobility conquered sectors
+   are charged at least LND_MINMOBCOST.
+
+Changes to Empire 4.2.10 - Mon Aug 13 14:34:39 MDT 2001
+ * Assault can reinforce own sector when SLOW_WAR is enabled.
+ * emp_client no longer converts lines into tags but still verifies executes,
+   pipes, and file redirect match players input.
+ * Added pboard command to capture enemy planes in your territory.
+ * Declaring war when at Sitzkrieg won't return relations to Mobilizing.
+ * Declaring war won't charge money if you're already Mobilizing.
+ * Added multiple territory fields.
+ * "show nuke build" displays the proper avail.
+ * retreating land units will only retreat to sectors owned by the player
+   that owns the unit.
+ * added hard cap of "250 + easy" to limit_level.
+ * education p.e. calculation divides edu constant by etu per update.
+ * Added patch for Linux for the PowerPC.
+
+Changes to Empire 4.2.9 - Sun Jan  7 15:49:13 PST 2001
+ * Fixed data corruption when bogus target gets fired upon.
+ * Increased size of ancillary stacks to prevent stack overflow.
+ * Changed all references to empire.cx.
+ * Ships, planes, and land units lost to lack of maintenance will now be
+   lost.
+ * No longer allowed to sack deity's capital.
+ * Accuracy calculation in land unit support was backwards.
+ * Corrected formula for likelihood of plague in info Plague.
+ * Fixed files to correctly size map and bmap files from econfig file.
+ * No longer allowed to add country 0.  It corrupts deity country.
+
+Changes to Empire 4.2.8 - Mon Oct  9 17:35:35 MDT 2000
+ * Fixed range in radar.t and Sector-types.t.  Maximum range at infinite
+   tech is 16.
+ * Changed so that player can't drop civilians into occupied sectors.
+ * Fixed bug that crashes update if etus/update is less than 8.
+ * Fixed sometimes not reporting overflights
+ * Fixing flak for units/ships to be in all sectors as they should be
+ * Updated order of firing flak in Flak.t.
+ * Fixed 80% efficient planes on ships must be maintained.
+ * Fixed initial MOB_ACCESS check thread sleep time was set by an uninitialized
+   variable. 
+ * Removed "TEMPORARILY DISABLED" message from mission command for escort
+   missions.  Escort missions have been re-enabled since 4.0.15.
+ * Using sonar from the navigate command will print the sonar map.
+ * Eliminated annoying error messages when using navigate with conditionals.
+ * Fixed Technology.t to correctly add 1 before taking the logarithm.
+ * Fixed bug that allowed players to steal opponents maps.
+ * Put time limit for bidding on market and trade in econfig file.
+ * Moved hours file information into econfig file.
+ * Added comments on setting update policy in econfig file.
+ * Added logging of cases where write extends data file by more than one id.
+ * Option MARKET is turned off by default.
+
+Changes to Empire 4.2.7 - Fri Mar 10 18:41:04 PST 2000
+ * Added new NF_SACKED flag to indicate when a country has had it's
+   capital sacked.  This flag is only cleared when the country actively
+   redesignates it's capital using the "capital" command, and changed
+   capital.t to reflect this (no more re-sacking after an update if the
+   country doesn't reset and repeating until they are out of cash.)
+ * Added land unit to edit command for planes.
+ * Added nuketype to edit command for planes.
+ * Changed so that if the leader of a group of units is a train, the
+   railways are used for bestpath instead of roadways.
+ * Changed mission command to also print reaction radius of reserve
+   missions when set for land units.
+ * Changed Flak.t to reflect guns having to be loaded onto a land unit
+   for flak to fire.
+ * Changed so that visitor countries cannot change their name or password.
+ * Changed so that you cannot upgrade deity planes, ships or units.
+ * Changed so that you know where missions are flown from.
+ * Changed so that the airport owner you fly a mission from is informed.
+ * Changed so that preperations for takeoff are reported to the owner of
+   the sector, ship or unit a plane is taking off from if it is not owned
+   by the owner of the plane.
+ * Changed so that when a sector reverts during a guerrilla revolt, the
+   mobility is not reset.  When MOB_ACCESS is not enabled, this used to mean
+   you would always get at least an updates worth of mobility.  With
+   MOB_ACCESS, sectors that reverted during the update were useless, since you
+   got no mobility for a long time.  This fixes that problem, and makes che
+   more useful as well.
+ * Changed so that air defense missions don't always send up every plane in the
+   area, but instead always send up at most two times the number of incoming
+   planes (for each interdicting country.) This helps to stop 1 plane from
+   stripping the mobility from 25 air defense planes all at once, but doesn't
+   limit it to n+1 as there is for regular interception.
+ * Clarified deity reversion of sectors in Sector-ownership.t
+ * Clarified production efficiency and added pointer to "show sector cap"
+   in Product.t
+ * Clarified nuketype selector for planes in Selector.t
+ * Clarified that fortifying units does not affect mission status in info
+   pages for mission and fortify.
+ * Clarified fuel syntax upon error in fuel command in empmod.c.
+ * Cleaned up comments causing minor complaints in some builds.
+ * Fixed bug in loans where you could collect on proposed loans.
+ * Fixed production command to be more accurate (though it *still* has some
+   rounding errors, it's better.)
+ * Fixed potential memory leak in air defense missions.
+ * Fixed bug where you couldn't pinbomb some commodities if other commodities
+   didn't already exist in the sector.
+ * Fixed bug where you couldn't build 0 crew planes without military in the
+   sector.  (This is different from needing at least 1 military to build all
+   planes that need a crew which introduced another related bug earlier.)
+ * Fixed bug where scrapping land unit 0 could cause erroneous transfer
+   messages to be displayed for deity owned planes.
+ * Fixed bug where land units on ships in a sector taken over were blown
+   up or captured.
+ * Fixed bug where planes on ships in a sector taken over were blown up
+   or captured.
+ * Fixed bug in sdump printing origx and origy in deity coordinates.
+ * Fixed bug in satellites showing wrong sectors (sometimes) when using the
+   optional arguments.
+ * Fixed bug in launch showing wrong satellite target (showed asat instead
+   of the target satellite.)
+ * Fixed bug where you could gain information not normally available using
+   the "fire" command to determine sector type information.
+ * Fixed bug in market/trade creating extra money when loans are taken out.
+ * Fixed problem with land units not being reported sunk after being sunk
+   on a ship that was nuked or wastelanded in a sector.
+ * Fixed problem with Spies.t using "llook" instead of "llookout".
+ * Fixed problem in lwp/arch.c including jmp_buf.h instead of setjmp.h
+   on some Linux boxes.
+ * Fixed problem with plague infection being way too high in cities when
+   the BIG_CITY option is enabled.
+ * Fixed bug in edit command getting confused with arguments.
+ * Fixed bug in ask_move_in_off asking you to move in a negative number of
+   troops (hey, it could happen. :) )
+ * Fixed bug in add command not keeping flags or relations initially correct.
+ * Fixed bug in torpedo command sometimes telling victim about torpedo
+   sightings even when way out of range.
+ * Fixed bug in spy command not reporting planes in adjacent sectors, as well
+   as not formatting them properly when reporting them.
+ * Fixed bug in satellite with noisy transmission causing a potential
+   crash of the server with non-100% efficient satellites.
+ * Fixed potential crashing of the server during satellite display when not
+   calculating distances to ships and units correctly.
+ * Fixed bug where planes in non-allied sectors, ships and units could be
+   used on missions.
+ * Fixed bug where planes on the trading block could be used on missions.
+ * Fixed bug where planes and units that get traded don't have mobility set
+   correctly when using MOB_ACCESS option.
+ * Fixed bug which made security units virtually useless.
+ * Fixed access times and mobility not being set right when building planes,
+   ships, units, bridges and bridge towers when MOB_ACCESS is enabled.
+ * Fixed minor formatting problem with launch of satellites.
+ * Fixed minor formatting problem with planes with greater than 999 tech.
+ * Fixed minor formatting problem with ships with greater than 999 tech.
+ * Fixed problem with "llook" showing up in TOP info file.
+ * Fixed problem with lwp Makefile choking on NT builds with clean target.
+ * General cleanup of potentially ambiguous statements.
+
+Changes to Empire 4.2.6 - Fri Jun  4 05:55:20 PDT 1999
+ * Added "TECH_POP" as an option where technology costs more to make
+   as your population grows past 50K civilians.  It is disabled by
+   default.
+ * Changed "produce" command to accurately print what the true p.e. is.
+ * Changed "update" command to display if mobility updating is enabled for
+   MOB_ACCESS option.
+ * Fixed bug where toggling off the coastwatch flag also turned off
+   forts firing on hostile ships coming into range.
+ * Fixed bug where assaulting your own land would violate any treaties
+   you have where assaults are a violation.
+ * Fixed bug where all planes (even those without need for a crew, such
+   as missiles) needed at least 1 military to build.
+ * Fixed bug where when a ship sinks during the update due to lack of maint,
+   land units and planes on it were left stranded.
+ * Fixed bug where when a land unit dies during the update due to lack of
+   maint, land units and planes on it were left stranded on it.
+ * Fixed bug where nukes could be lost due to MOB_ACCESS updating mobility
+   while arming.
+ * Fixed bug in "show sector capabilities" not showing products correctly.
+ * Fixed bug in "show tower build" printing "bridges" instead of "bridge
+   towers".
+ * Fixed bug in sectors that don't revolt not showing up as lost items.
+ * Fixed bug where maps with an X of exactly 200 is not drawing third line.
+ * Fixed bug where MOB_ACCESS was not updating the mobility just before
+   the update. 
+ * Fixed bug in the way treaties are examined and sometimes produce
+   wrong results.
+ * Fixed edit to allow creating negative mobility for sectors.
+ * Fixed setsector to allow creating negative mobility for sectors.
+ * Fixed bug where when writing out the value of a sector that had
+   negative mobility and was damaged in combat, mobility was being
+   set back to 0.
+ * Fixed Taxes.t info page to reflect that captured civvies only pay
+   1/4 taxes.
+ * Fixed Technology.t info page to reflect TECH_POP option.
+ * Fixed navigate.t info page to reflect that only ships in the fleet
+   in the same sector that are fired upon have damage divided up.
+ * Made techlists toggle on by default (so things are shown in order of
+   technological advances.)
+
+Changes to Empire 4.2.5 - Mon Mar  1 06:42:24 PST 1999
+ * Added optimization to increasing mobility to check if an object is
+   already at max mob, just return since it can't be increased.
+ * Added "-ltermcap" for client libs for hp build (it was already in
+   hpux build.)
+ * Added clearing of telegram flags after the update so that the next
+   telegram is flagged as new and not part of the update.
+ * Fixed Update-sequence.t to reflect MOB_ACCESS.
+ * Fixed bug where fortification amount was not being limited to
+   maximum mobility for land units (land_mob_max).
+ * Fixed bug where land unit fortification strength was being calculated
+   by using 127 instead of land_mob_max.
+ * Fixed bug where scrapping land units was creating military.
+ * Fixed description of sect_mob_neg_factor in econfig file.
+ * Increased speed of PT boats.
+       
+Changes to Empire 4.2.4 - Tue Feb  2 05:47:44 PST 1999
+ * Added check to make military values match up correctly for land
+   units.
+ * Fixed bug in doconfig not putting ipglob.c in the right place.
+ * Fixed bug where attacking deity sectors will violate a treaty.
+ * Fixed newspaper.t information file.
+ * Fixed potential bug in fixing up timestamp information when restarting a
+   game with MOB_ACCESS turned on.
+ * Fixed bug in explore command not setting mobility to correct
+   value when MOB_ACCESS was enabled.
+ * Fixed bug in enlist setting mobility incorrectly sometimes.
+ * Added doc/backup file for deities which recommends how backups and 
+   restores of the data directory should be done.
+
+Changes to Empire 4.2.3 - Wed Jan 13 06:02:35 PST 1999
+ * Added linux-pthreads target and build for using pthreads under Linux.
+ * Added NO_FORT_FIRE option which disables the ability of forts to
+   fire when enabled.
+ * Added more error checking and recovery for corrupt data files.
+ * Changed alphapos target to alpha-pthreads for better clarity.
+ * Changed fairland to allow 0 sector distance to other islands and
+   continents (James Risner)
+ * Changed "frg" and "dam" land unit stats to "rng" and "fir" so they
+   match the way ships are described (since this is how they really work.)
+ * Changed Unit-types.t to now describe "rng" as firing range of a unit,
+   and "fir" as the number of guns that a land unit fires.
+ * Cleaned up misc. build warnings.
+ * Changed artillery damage to be 5 + d6 per gun firing from just d6
+   per gun firing and updated Damage.t to reflect this change.
+ * Changed artillery firing ranges to be like ships ranges - divided
+   by two, and modified them to make more sense.
+ * Changed artillery units to be "slightly" :) more powerful.
+ * Changed "cavalry" unit to tech 30 and lowered mil content to 20.
+ * Changed "artillery" unit to tech 35.
+ * Changed so that guns are no longer required to build units, and
+   that guns must be loaded onto artillery units for them to fire.
+   Client developers note: the show command has not changed yet to
+   remove the 'guns' column (since guns are no longer required) but
+   will in a future revision (possibly 4.2.4) so "be prepared" for
+   "show land build" to change. :)
+ * Fixed landunitgun to handle all the damage calculations like it should.
+ * Fixed bug sinking planes when the ship they are on sinks.
+ * Fixed bug destroying planes when the land unit they are on is destroyed.
+ * Fixed bug where land units could fire support without enough military.
+ * Fixed bug in abandoning sectors by marching out a land unit where it
+   would not let you sometimes (uninitialized variable problem.)
+ * Fixed gets problem in files.c (James Risner)
+ * Fixed bug in determinig operations range of a ship.
+ * Fixed bug in building planes where you could manufacture military.
+ * Fixed warnings in threading package(s).
+ * Fixed fire.t to reflect new firing changes.
+ * Fixed lstat.t to reflect new firing changes.
+ * Fixed sstat.t to reflect the way things really work.
+ * Fixed Ship-types.t to reflect the way things really work.
+ * Fixed the way shutdowns work to hopefully better protect data files.
+ * Fixed bug in attacking when sector mobility is less than 0 and it would
+   prompt for attacking with a negative amount of military.
+ * Fixed typo in fire.t stating wrong parameters for firing from a sector.
+ * Fixed bug in client when it prompts for country name it was putting
+   an extraneous end of line on the end that needed to be stripped off.
+ * Fixed problems running on Linux running on an Alpha machine.  Thanks
+   to Rocky Mountain Internet and Jeremy A. Cunningham for giving us time
+   on a machine to work out the bugs.  (Note that the only build that
+   works on Linux/Alpha is the linux-pthreads)
+
+Changes to Empire 4.2.2 - Sun Dec 27 12:46:34 PST 1998
+ * Added some code optimizations into the update code when building paths.
+ * Added some new cacheing for building paths to help speed up updates.
+ * Added so that you can use "name" and "password" with the change command
+   as well as "country" and "representative".
+ * Added flag to power command so that if you are a deity and enter
+   a negative number of countries you want to see, you see the power chart
+   for that many countries without power numbers on the next line.  Only
+   useful for deities that want to see the chart un-broken up by that line.
+ * Added new functionality to fortify command.  You can now use a negative
+   fortification value to cause the unit to be fortified and leave at
+   least that much mobility on the unit. I.E. "fort * -67" will fortify
+   all units and make sure the mobility of each unit doesn't go below
+   67.  If the mobility is already below that level (or equal) the unit
+   is left unchanged.
+ * Added that the realm command prints "Realm #n is x:x,y:y" after
+   you set a new realm.
+ * Added TREATIES option and enabled it by default.
+ * Added "no depth-charging subs" and "no new land units" treaty
+   clauses.
+ * Added Trannie Carter's basic client fix to use fgets instead of gets.
+ * Changed market and command to only print the lowest priced lot of
+    each given commodity by default.  If you specify "all" it shows
+    all lots on the market, and if you specify a specific item, it shows
+    all lots of that item type.
+ * Changed start command to only write out sector if it changed.
+ * Changed stop command to only write out sector if it changed.
+ * Changed how plane names were changed on server startup if the
+   PLANENAMES option was enabled.
+ * Changed move command to use standard askyn function for abandoning
+   sector prompt.
+ * Changed plane overlight sightings to take stealth into account,
+   and if the planes managed to evade all flak and interceptors, they
+   are not marked as "spotted" over enemy sectors.
+ * Changed all units with the supply flag to have their marching speeds
+   based on efficiency since that is their purpose.  What this means is
+   that supply units and trains are more effective at 100% than at 10%
+   (just as fighting units are more effective at 100% than at 10%, but
+    their effectiveness is determined by how well they fight, not how well
+    they "run away, run away!" :) )
+ * Changed so that flash toggle is on by default for POGO at setup
+   time.
+ * Changed so that when a sector is taken, all land units owned by the
+   current owner are treated as planes are during takeovers (i.e. there
+   is a pretty good chance they are blown up, and if not, they change owner
+   to the attacker and are beat up pretty good.)
+ * Fixed treaties to work again.
+ * Fixed bug in taking over land units not using correct pointer (can
+   cause a crash or data corruption.)
+ * Fixed collect command to wipe deliver and distribution information
+   correctly.
+ * Fixed potential bug in bmap not working when destination bmap has
+   blank spaces in it.
+ * Fixed bug in shark command not getting right nation structure.
+ * Fixed bug in server where empty commands (for example, all spaces
+   or tabs) were being reported as bogus commands.  They are now just
+   ignored.
+ * Fixed bug in scrap not dropping land units off of scrapped units carrying
+   them.
+ * Fixed bug in news where boarding of land units was reported backwards.
+ * Fixed bug in calculating new people when growing them during an update.
+ * Fixed missing -ltermcap in HP/UX build.
+ * Fixed setsector to limit mobility to 127 not 255 (255 was being caught
+   later and being reset to 0 anyway)
+ * Fixed Sector-types.t to show a '\' instead of a '/' for wasteland,
+   since that is what it really is.
+ * Fixed retreat.t documentation to reflect the "retreat upon failed
+   boarding" flag.
+ * Fixed bug where satellites were not orbiting the world during the
+   update.
+ * Fixed bug in torpedos being too smart.  They knew how to jump over
+   land! :)  Now the "line_of_sight" routine is used to determine if a 
+   torpedo has a straight path to the destination.  If it doesn't, the
+   torpedo no longer jumps over land, but instead slams into it.  This was
+   an interesting bug because you could torp ships on the other side of
+   a very skinny island as long as they were in range, even if there was
+   no sea route possible.
+ * Fixed bug when pinbombing and you run out of an object to pinbomb (land
+   units for example) but you still have to pick something to bomb.  For
+   ships it worked ok (just aborted that it couldn't find any more ships)
+   and this was fixed for land units and planes.
+ * Fixed server crashing bug when flying a plane and not carrying
+   any cargo.
+ * Fixed bug in move losing commodities when it runs out of room in the
+   destination sector.  Goods are now attempted to be returned to the
+   start sector, and apporpriate steps taken if the start sector is no
+   longer available.
+ * Fixed march to prompt you before you abandon a sector you own by 
+   marching out the last land unit.
+ * Fixed check functions to only check the relevant portions of the structure 
+   and not the timestamp info that doesn't affect how the object functions.
+ * Fixed bug in spy command that always told you if a spy unit was in a
+   non-owned sector.
+ * Fixed bug in displaying of land unit missions not showing correct land
+   unit range.
+ * Fixed bug in wire command where new announcements that you read at
+   the last second don't get wiped out properly.
+ * Fixed bug where announcement file could be corrupted by very long lines.
+ * Fixed bug where bmap was not set when player was told what kind of
+   sector they were attacking (this was an old abusable bug that was
+   removed long ago to fix the abuse, and it's been fixed in a non-abusable
+   way finally.)
+ * Fixed bug where change command would warn you about monetary and
+   BTU costs, but not prompt you to break out if you didn't want to really
+   change your country name.
+ * Fixed bug in sub-launched nukes that are intercepted being reported in
+   the news incorrectly.
+ * Fixed bug in load where you could abandon a sector and not know it by
+   loading your last civilians or military onto a ship.
+ * Fixed potential memory leak in autonav code.
+ * Fixed potential bug where you could possibly determine if a sector is
+   owned or not using one way plane missions.
+ * Fixed Damage.t info page to properly show damages for planes and
+   land unit shelling.
+ * Fixed deliver.t to include syntax for command.
+ * Fixed country.t to include syntax for command.
+ * Fixed bug where ships on orders were not adding radar information to
+   the bmap during an update.
+ * Fixed bug where ships on sail were not adding radar information to
+   the bmap during an update.
+ * Fixed bestownedpath code to use the bmap properly.  Note this is a very
+   important bug fix.  When navigating a ship, players are no longer given
+   free information that they would not normally know.  For example, if you
+   try sailing your ship off into uncharted areas of your bmap, the bestpath
+   code will only use as much information as you have on-hand (i.e. your
+   bmap) to plan out your path for you.  If you have no information on an
+   area, it just keeps forging on, until bumping into something.  Of course,
+   after the initial exploration through an area, the bmap will be set and
+   used for all future sailings through that area.  Harbors and bridges
+   are still checked for construction worthiness if you know where they
+   are (i.e. they are on your bmap.) (Overall, what happened before
+   was that the bestpath code would route your ship around islands that
+   you didn't even know were there, and you could use various commands
+   to see how that ship was going to sail during the update and thus you
+   gained information that you wouldn't normally know.)
+ * Merged bestpath and bestownedpath and wrote new wrappers, "BestShipPath"
+   and "BestAirPath" to use it properly.  It is also good to note that
+   bestownedpath is used to determine paths for ships and for planes, 
+   and that best_path (which uses the A* algorithm) is used for all land
+   based paths, and that the two are never interchanged.
+ * Removed "jet recon" plane (it slipped in during the PLANENAMES conversion,
+   and RECON was never used before.)
+ * Removed extraneous "resnoise" and "resbenefit" functions and combined
+   the two for setresource and setsector commands.
+
+Changes to Empire 4.2.1 - Tue Nov  3 12:56:20 PST 1998
+ * Fixed problem with global/plane.c not defining last structure element
+   properly, and thus causing crashes when accessing certain plane
+   routines.  This happened during the move to make the PLANENAMES option
+   run-time configurable.
+       
+Changes to Empire 4.2.0 - Thu Oct 29 06:27:15 PST 1998
+ * Bumped rev to 4.2.0 since this is a major release (the server is now
+   run-time configurable for just about everything and is released under
+   the GNU GPL.)
+ * Put in official licensing information.
+ * Re-arranged and commented the econfig (Empire Configuration) file.  The
+   auto-generated "data/econfig" file is now pumped out chock full of
+   comments (which may or may not be useful.)  Since the server is
+   pretty much fully run-time configurable (MAXNOC is not, but it gets
+   a default of 99 anyway) deities will probably be spending more time
+   in the config file.
+ * Added server support for building under NT, including mods from
+   Doug Hay and Steve McClure to get the server building and running
+   under NT. (This was built using MSVC++ 5.0 on NT 4.0 and command
+   line "nmake nt")
+ * Added Doug Hay's ntthread.c implementation for NT threading.
+ * Added max pop column to "show sector stats" output.
+ * Added lboard command for boarding land units from sectors.  Only raw
+   mil can board land units, and only mil and land units aboard the unit
+   being boarded fight back.
+ * Added GODNEWS option.  When enabled, the deity giving people stuff
+   is shown in the news.
+ * Added bridge tower sector ('@')
+ * Added BRIDGETOWERS option.  When enabled you can build bridge towers
+   from a bridge span.  You can then build bridge spans from the tower.
+   If the tower is destroyed ( <20% eff) bridges connected fall unless
+   supported on the other side.  You can only build bridge towers in open
+   water not adjacent to land and other towers.  Expensive.
+ * Added plains sector ('~') - Max pop is 1/40th regular sectors, and
+   it is deity creatable only (can't redesignate unless you wasteland it
+   with a nuke :) )
+ * Changed "info all" to no longer use printdir, instead it just uses the "all"
+   info page which contains this information.
+ * Changed so you can now load up to 2 spy units onto non-land unit carrying
+   submarines if the LANDSPIES option is enabled.  Useful for sneaking up
+   to shore and spying on your neighbors.
+ * Changed so spies unloaded from ships are not given as gifts, they are just
+   unloaded quietly.
+ * Changed build command to handle building towers ("build t")
+ * Changed show command to show tower stats ("show t b")
+ * Changed reject so you can now reject things from any country except
+   deity countries (this now includes sanctuary countries and visitor
+   countries you don't want to deal with)
+ * Changed ndump to dump nuclear stockpile ID as well.
+ * Changed flash so that if someone allied to you is either not logged on or
+   not accepting flashes, you are notified.  This is info you could gain
+   otherwise since you can see other countries that are allied to you via
+   players.
+ * Fixed bug in news command when HIDDEN mods are enabled.
+ * Fixed distribute command to only write out to the database if we
+   actually changed the sector (i.e. if we really moved the dist
+   center, we write.  Otherwise, it makes no point.)
+ * Fixed threshold command to only write out to the database if
+   we actually changed the sector (i.e. if we really changed the
+   threshold, we write.  Otherwise, it makes no point.)
+ * Fixed - population growth and truncation in "Update-sequence.t" info
+   file is now clearer
+ * Fixed the way fortify takes mobility away from a land unit if
+   engineers are present.
+ * Fixed bug in buying commodities at the last minute not resetting the
+   time correctly in all situations.
+ * Fixed bug in building nukes where it would always ask if you tried
+   building more than one at a time.
+ * Fixed bug where if you put (either by building or by transporting)
+   more than 127 of one type of nuke in a sector, they all got lost. A
+   negative wrapover sort of thing.
+ * Fixed ndump to print # of stockpiles dumped.
+ * Fixed ndump.t to reflect changes
+ * Fixed bug in build command that didn't account for EOL characters.
+ * Fixed bug where you could use planes to drop conquered populace
+ * Fixed bug in distribute command in how it checked for current distribution
+   sector.
+ * Fixed pr_flash and pr_inform to no longer send messages if the player
+   is still in the process of logging in (i.e. not in the PLAYING state)
+ * Fixed report command output for deities.
+ * Fixed bug in nuclear damage either taking out submarines when it
+   shouldn't, or not taking them out when it should.
+ * Fixed bug in loading units that are carrying units onto other units
+   (note that it doesn't happen since only HEAVY units can carry other
+   units and that check works, but that might change some day, and we
+   don't want units carrying units to be carried by other units, etc. :) )
+ * Fixed info pages to reflect new sector types.
+ * Fixed info pages to reflect new spy unit capabilities.
+ * Fixed show commands to only show trade ships if the TRADESHIPS option
+   is enabled.
+ * Fixed build command to only allow building of trade ships if the
+   TRADESHIPS options is enabled.
+ * Fixed up some definitions located in many places used for checking
+   sectors for navigation rights.
+ * Fixed power.t to correctly describe NEW_POWER formula.
+ * Made HIDDEN option run time configurable.
+ * Made LOSE_CONTACT option run time configurable.
+ * Made ORBIT option run time configurable.
+ * Made SAIL option run time configurable.
+ * Made MOB_ACCESS option run time configurable.
+ * Made FALLOUT option run time configurable.
+ * Made SLOW_WAR option run time configurable.
+ * Made SNEAK_ATTACK option run time configurable.
+ * Made WORLD_X and WORLD_Y run time configurable.
+ * Made MARKET option run time configurable.
+ * Made LOANS option run time configurable.
+ * Made BIG_CITY option run time configurable.
+ * Made TRADESHIPS option run time configurable.
+ * Made SHIPNAMES option run time configurable.
+ * Made DEMANDUPDATE option run time configurable.
+ * Made UPDATESCHED option run time configurable.
+ * Made LANDSPIES option run time configurable.
+ * Made NONUKES option run time configurable.
+ * Made PLANENAMES option run time configurable.
+ * Removed SMALL_SERVER stuff (unused baggage)
+ * Removed trading post sector ('v')
+
+Changes to Empire 4.0.18 - Thu Sep 24 06:54:27 PDT 1998
+ * Fixed bug in aircombat where planes in flight could intercept air
+   defense planes and take no damage (i.e. they got to fight twice,
+   once for free.)
+ * Fixed bug in freeing memory after performing missions that could crash
+   the server (it mainly happened after an interdiction mission using
+   planes and escorts, where some escorts came from airports that didn't have
+   bombers going up.  Freeing the leftover escorts was crashing the server.)
+ * Fixed bug where you could load non-existant units if you were allied
+   with country #0.
+ * Fixed bug where you could pin-bomb a plane with itself.
+ * Fixed bug where satellites over a bridge may get killed if the bridge
+   is sunk.
+ * Fixed bug where land units on a ship in the same sector as a bridge
+   that is splashed may get sunk.
+ * Fixed bug where planes on a ship in the same sector as a bridge
+   that is splashed may get sunk.
+ * Fixed doconfig with correct empire site text.
+ * Fixed major problem with abms not firing, and sometimes crashing
+   server.
+ * Fixed bug in land units counting up loaded units wrong.
+ * Fixed doconfig makefile to have doconfig.c as a dependency.
+ * Fixed bug in resetting commodities (the comm_uid was not being
+   properly set.)
+ * Fixed bug in repaying loans not working correctly (the l_uid was not
+   being properly set.)
+ * Fixed bug in buying items from the trading block not allowing you
+   to due to a perceived change in item status.
+ * Fixed bug in mfir.c where a bogus input to a target could crash
+   the server.
+ * Fixed bug that after you read telegrams new telegrams may not send
+   an inform message (the old telegram flags were not cleared.)
+ * Fixed bug where fort support distance calculations are calculated
+   twice instead of just once.  This bug caused a lower percentage
+   of support fire than designed.
+ * Fixed bomb.t to reflect land unit changes.
+ * Put in some integrity checking for planes returing from bombing runs.
+ * Added ability to edit land unit that a land unit is loaded on in
+   edit command.
+ * Consolidated bridgefall code into "knockdown" function (this code
+   existed in at least 3 places, and was different in all of them.)
+ * Subs returning fire are no longer reported in the news.
+ * Visitor countries can now use the 'motd' command.
+ * When trying to use a visitor country, if it is in use, you are not told
+   by whom, just that it is in use.
+ * Optimized (slightly) support fire from forts not getting supply and
+   shells if not needed (out of range)
+ * Updated Education.t
+ * Modified (increased) chances of hitting mines slightly.
+ * Removed unused variables from shp_check_mines.
+       
+Changes to Empire 4.0.17 - Fri Jul 31 06:12:21 PDT 1998
+ * Added ability in edit to change coastal flag for sectors.
+ * Added ability in edit to edit plague values for ships.
+ * Added ability for "spy" to report all units/planes not owned by you
+   that exist in the sector you are spying from.
+ * Modified naval planes and anti-sub planes.
+ * Changed so that missiles and bombs that miss their targets cause
+   collateral damage in the target sector (they have to land somewhere!)
+ * Changed llook so that non-spy units are required to have at least 1
+   military personnel on board to see anything.
+ * Fixed "llookout.t" to reflect change for military requirement.
+ * Updated Plague.t
+ * Updated upgrade.t
+ * Added "lmine" flag for deities to see what sectors have mines in them
+   (works for sea and land mines, used "lmine" to distinguish it from "min"
+   which determines mineral (iron) content of a sector.)
+ * No longer able to pin bomb land units on a ship.
+ * Land units are required to have at least one military loaded to perform 
+   a mission.
+ * Firing land units are required to have at least on military loaded to
+   be able to fire (or return fire.)
+ * Spies are not always seen when being pinbombed.  You have to look very
+   carefully for them (as you usually would.)
+ * Fixed typo in "Spies.t"
+ * Added new info about spy ability to spy.t.
+ * Updated tax information in Innards.t and Update-sequence.t
+ * Fixed typo in fire.t information about units firing on ships.
+ * Loading military onto land units now resets fortification.  (You gotta
+   re-fortify the new guys.)
+ * Fixed bug where planes that were mine capable could not drop mines if
+   they were not cargo capable.
+ * Fixed bug in potentially crashing in update code for nations tech/research.
+ * Fixed bug in execute putting you into execute mode incorrectly.
+ * Fixed bug in board not allowing land units to board from 0 mobility 
+   sectors.
+ * Fixed bug where interdicted land units that were missed displayed
+   a "SPLASH! Bombs miss your ships" message.
+ * Fixed bug in minesweeping sectors where, even with mobility or
+   having the sweep ability, ships would get hit by mines for doing
+   nothing.
+ * Fixed bug in count_land_planes always writing out land units unnecessarily.
+ * Fixed bug in count_planes always writing out ships unnecessarily.
+ * Fixed bug in lnd_count_units always writing out land units unnecessarily.
+ * Fixed bug in count_units always writing out ships unnecessarily.
+ * Fixed bug in llook that reported units on ships.
+ * Fixed bug in llook that reported satellites launched over the unit.
+ * Fixed bug in llook that always reported spies (it should be a 10-100%
+   chance)
+ * Fixed bug in anti possibly not saving lost items correctly.
+ * Fixed bug in planes getting extended range when on missions and the
+   op center is not where the plane is located.
+ * Fixed bug in land unit defensive strength not being based on the eff of
+   the unit when calculating odds of a battle.
+ * Fixed bug in board not reporting consistant information.
+ * Fixed bug in the way land unit casualties were being taken.
+ * Fixed bug where land units on ships could return fire.
+ * Fixed bug where land units on other land units could return fire.
+ * Fixed bug where land units on other land units could fire.
+ * Fixed bug in attacks/assaults/boardings spreading plague incorrectly.
+ * Fixed bug in updating plague for ships.
+ * Fixed bug in updating plague for land units.
+ * Fixed bug in updating plague for attacking/defending land units.
+ * Fixed bug where you couldn't pin-bomb land units that were < 20% eff.
+ * Fixed bug which revealed the owner of torping subs when on a mission.
+
+Changes to Empire 4.0.16 - Fri Jun 12 08:52:06 EDT 1998
+ * Added patches sent in by Steve McClure, Sverker Wiberg and Curtis
+   Larsen.  They are described with other changes below.
+ * Fixed bugs in the following commands that allowed two cooperating
+   countries to create infinite numbers of any commodity and/or cash
+   at any time (race conditions in the server): build, board, deliver,
+   designate, distribute, explore, fuel, improve, load, ltend, mobquota,
+   move, name, order, reset, sail, sell, set, tend, territory, test,
+   threshold, torpedo, transport, unload
+ * Fixed bug in board command giving out too much information about a
+   non-owned sector when it shouldn't be.
+ * Fixed bug in board command when firing on a sector in defense before
+   checking mobility.
+ * Fixed bug in rangeedit allowing plane(s) to possibly be stored wrong.
+ * Fixed bug in launch allowing plane to possibly be stored wrong after
+   launch.
+ * Fixed bug in lrangeedit allowing land unit(s) to possibly be stored wrong.
+ * Fixed bug in morale allowing land unit(s) to possibly be stored wrong.
+ * Fixed bug in arm/disarm allowing a plane to possibly be stored wrong.
+ * Fixed bug in loan sometimes not writing database correctly.
+ * Fixed bug in collect.
+ * Fixed bug in dropping mines from land units.
+ * Fixed crashing bug in sector_strength routine when oceans take
+   collateral damage.
+ * Fixed bug in transport possibly decrementing too much mobility when
+   moving a nuke.
+ * Fixed some little warning type messages building with gcc -Wall.
+ * Fixed problem compiling lwp threads with glibc6 under Linux.
+ * Changed flash so that players can always flash deities.
+ * Changed players command to always show deities and visitor countries
+   that are logged on, and only show allied countries for normal player
+   countries.
+ * Fixed bug in anti command not stopping sectors when they revolt.
+ * Fixed bug in set_coastal function not counting bridge spans as
+   water based sectors (after all, the land is still a coastal sector,
+   even if next to a bridge span.)
+ * "flash" and "players" is re-enabled for visitor accounts.
+ * Fixed bug in bleeding of technology and research to other players.
+ * Fixed bug in explore not spreading plague correctly.
+ * Fixed bug in move not spreading plague correctly.
+ * Fixed bug in deliver not spreading plague correctly.
+ * Fixed bug in distribute not spreading plague.
+ * Included "postresults" script in the scripts directory which can be
+   used to auto-post daily power chart/announcements to rec.games.empire.
+ * Updated Plague.t
+ * Updated Innards.t
+ * Removed OVCONFIG from build.conf, and patched doconfig to match.
+ * doconfig is only run if needed
+ * emp_client and emp_server are only linked if needed
+ * Added list of disabled options to the version command.
+ * Fixed bug in survey allowing you to see hidden variables.
+ * Re-enabled escort missions due to above bug fix most likely the problem.
+ * Changed one instance of "restrict" to "restricted" in bestpath.c.  For
+   some reason, this was causing a problem on one of the Linux builds (??).
+ * Added "show sector capabilities" functionality (this didn't exist
+   before.)
+ * Fixed bug in neweff not reporting stopped sectors.  It now (correctly)
+   reports them as not changing eff.
+       
+Changes to Empire 4.0.15 - Wed May 20 12:35:53 EDT 1998
+ * Fixed the spelling of Markus' name in CHANGES4.0 files.
+ * Added Markus' patches/fixes.  Some are detailed below.
+ * Added 'mipsultrix.gxx' build target.
+ * Fixed doconfig to write ipglob.c in the correct target area.
+ * Fixed a bunch of type casting that needed to be done correctly.
+ * Only print out last connect by for non-visitor accounts.
+ * 'players' command is only useable by non-visitor accounts.
+ * Fixed ask_off in attsub.c to not print out allied sector mil counts
+   when attacking from neighboring sectors.
+ * Fixed targetting of che when taking over sectors.
+ * 'anti' command only fights che that are targetted at you.
+ * Fixed update not updating timestamps of objects (ships, planes, land
+   units, sectors.)
+ * Fixed bug delivering conquered populace.
+ * Fixed potential bug scuttling ship with land units on it.
+ * Moved heavy bombers to tech 90.
+ * Fixed bug in setsector telling the deity coordinates of sectors being
+   granted/taken away.
+ * Fixed bug in setting budget of enlistment sectors to 0.
+       
+Changes to Empire 4.0.14 - Wed Apr  8 08:47:54 EDT 1998
+ * Fixed time_t problem in common/log.c
+ * Fixed bug in headlines
+ * Replaced vaxultrix build flags with proper vanilla ones.
+ * Fixed bug in update/prepare.c (sometimes not getting charged for
+   mil on units and ships)
+ * Fixed bug in printing of "No ship(s)" twice in cargo command when no
+   ships were selected.
+ * Temporarily disabled escort missions until a fix is found. They are
+   randomly crashing the server.  
+ * Fixed morale.t to reflect that retreat percentage is based off of
+   morale_base and not 75.
+ * Fixed bug in bridgefall where planes and units on ship in a sector
+   that has a bridge collapse are being sunk.
+ * Fixed bug in update/produce.c when a sector overflows it's capacity
+   on production.
+ * Fixed bug in produce command reporting incorrect costs (sometimes).
+ * Land units on ships will now try to draw supply from the ship they
+   are on.
+       
+Changes to Empire 4.0.13 - Mon Mar  2 11:04:28 EST 1998
+ * Fixed bug in distribute when world sizes are other than 64x32
+ * Fixed bug in getcommand (not really a bug, just made it work like
+   it used to so that the players command is useful for deities
+   again)
+ * Fixed building of POSIX threads on Alpha running Digital Unix.
+ * Fixed line_of_sight prototype in sona.c
+ * Fixed fairland not to conuse stupid C++ compilers.
+       
+Changes to Empire 4.0.12 - Tue Feb 24 11:27:31 EST 1998
+ * Fixed client build on linux (whoops)
+       
+Changes to Empire 4.0.11 - Tue Feb 10 10:53:10 EST 1998
+ * AIX build seems to only work with gcc right now (but at least that works)
+ * Vax Ultrix (vaxultrix) build should work now (hopefully) out of the box.
+ * Took out autosupply of airports when bombing or dropping shells.
+    (This was the only commodity this was done for, and it was creating
+    problems since supply is still somewhat broken somewhere)
+ * Included Curtis Larsen's, Markus Armbruster's and Sverker Wiberg's
+    submitted patches, which collectively included cleaning up most
+    of the server prototypes and bogus declarations.  Many thanks.
+ * Increased incoming command buffer to 1024 from 512 bytes
+ * Increased the # of parsed arguments from 64 to 100
+ * Fixed bug where spies were not dying when damaged.
+ * Fixed bug in HIDDEN mods in declare command not printing country # of
+    uncontacted country correctly (or at all as a matter of fact)
+       
+Changes to Empire 4.0.10 - Mon Aug 18 12:34:58 EDT 1997
+ * Fixed bug where fleets were being interdicted but the damage was being
+    spread to ships not in the same sectors.
+ * Fixed but in market when buying goods without enough cash.
+ * Planes in orbit over airports are no longer fixed up during updates.
+ * Planes in orbit are no longer damaged when the sectors they are over
+    are damaged.
+ * Planes on ships are no longer damaged when the sectors they are in are
+    damaged, unless the ship is damaged.
+ * Fixed problem with no newline after partisan activity telegram in
+    anti.c
+ * Fixed problem in chan.c printing out change costs incorrectly.
+ * Fixed problem in dispatch.c screwing things up on redirection.
+ * financial should now handle 6 and 7 digit loans.
+ * Planes on ships that are in sectors that revolt are no longer taken
+    over.
+ * Fixed bug in powe.c where the power report was mis-calculating the
+    efficiency of planes.
+ * Fixed doconfig.c to use STDC instead of multi-level #ifdefs.
+ * Fixed bug in parse.c that was screwing up double quotes in conditional
+    arguments.
+ * Military in a sector now only produce up to maxpop, just like civvies
+    and uw's.  No more stuffing 6K mil into a mountain to max it out.  You
+    can still hold more mil there over the updates, but the extras just
+    won't produce anymore.
+ * Fixed bug in shark that allowed you to shark up loans even if you couldn't
+    cover the debt.
+ * Fixed bug in day of week calculation for server up time in common/keyword.c
+    that is used for gamedays.
+ * Documented what happens to standing military in collect.t when you collect
+    a sector.
+ * Documented mountains only holding and using 1/10th of the normal sector
+    population in Sector-types.t.
+ * Fixed documentation on ship's firing ranges in fire.t to be less 
+    ambiguous.
+ * Updated nukes in nuke.t
+ * Added apropos command (thanks to Mike Wise)
+ * Added case-insensitivity to the info command (thanks to Mike Wise).  If
+    there are two files of the same name, and you don't get a complete match,
+    then whichever file is found first in the directory is used.
+ * Changed documentation in wantupd.h
+       
+Changes to Empire 4.0.9 - Sat Apr 19 23:01:51 EDT 1997
+ * Fixed dump info pages that were getting formatted funny.
+ * Fixed improve info page.
+ * Fixed bug in allied planes/units not moving when the carriers move.
+ * Fixed bug in satellite output for <100% satellites.
+ * Fixed bug in load/unload not putting a newline after some unloadings
+    in allied sectors.
+ * Fixed bug in harden not printing correct values.
+ * Fixed bug in creating/moving/etc. nuclear stockpiles.
+ * Fixed bug where subs were trying to torp commodities moving on land when
+    on interdiction.  (This was funny ;-) )
+ * Fixed bug in "move" where you could keep a sector even after someone else
+    took it from you.
+ * Budget now correctly reports the # of units being built.
+ * Mil on units & ships are now reported as normal military costs, not
+    ship or unit maintainence costs in budget.
+ * Fixed bug in update code where taxes could potentially be initialized
+    incorrectly (affected budgets too.)
+ * Fixed bug in nat.h header so that it uses SCT_MAXDEF instead of a fixed
+    number (that was incorrect.)
+ * Fixed bug with trains - they needed the xlight flag to carry planes.
+ * Revamped and improved flak.
+ * Added "Flak" info page.
+ * Added "Fallout" info page.
+ * Fixed repay/offer/consider to all need a capital to be used.
+ * Fixed bug with air defense missions not running when not AT WAR.  They now
+    fly when HOSTILE.
+ * plane/ship/unit short names are all now 4 characters, padded if needed.
+ * pdump/sdump/ldump/ndump now just print the short name for the type.
+ * sdump now has ship name at very end in quotes.
+    These were done at the request of some client developers for ease of use.
+ * Fixed extra space in the dump output.
+ * Fixed fallout - not quite so nasty anymore.
+ * Fixed fallout - things on ships/units are damaged now.
+ * Fixed and balanced planes/ships/units/nukes in conjunction with each other.
+ * Fixed bug in doconfig.c calculating wrong s_p_etu sometimes.
+ * Fixed bug where harbors weren't being used to resupply.
+ * Fixed bug where selling units loaded with planes and units wouldn't take
+    the loaded planes or units - they are now dropped.
+ * Fixed bug in arm/disarm where you could arm/disarm planes on the trading
+    block.
+ * Deities can now remove things from the trading block/market.
+ * Fixed bug in "work" not charging engineers enough mob.
+ * Fixed bug in "work" not adding teardown and buildup avail costs together.
+ * Subs no longer need mobility to return fire when fired upon.
+ * Fixed "reset".
+ * Fixed bug in "trade" allowing 2 players to pay for the same item, but only
+    the last player gets it.
+ * Fixed bug where you couldn't launch missiles from allied ships or sectors.
+ * Fixed bombing so that pin-bombing can cause collateral damage too.
+ * Fixed sector damage to damage planes there too.
+ * Fixed flag in lload so that it doesn't always print if not needed.
+ * Fixed "sell.t" info page.
+ * Fixed bug in "buy" where not entering the price correctly could cause
+    a crash.
+ * Fixed "sell" so that at least 1 mobility is required to sell goods.  Keeps
+    the midnight "raid and sell" abuse down. :)
+ * Fixed "show plane cap" to move the last column over 1 more where it should
+    be.
+ * Fixed timestamps to be updated for units/planes on ships/units that move,
+    since those units/planes move too.
+
+Changes to Empire 4.0.8 - Wed Feb 26 23:00:51 EST 1997
+ * Fixed bug in nstr_exec that was wiping out the previous conditional.
+    This was major because it affected timestamp values which are more
+    than 65535.
+ * Fixed bug in sdump.c for typo in reporting the trade ships origin.
+       
+Changes to Empire 4.0.7 - Mon Feb 24 22:48:54 EST 1997
+ * Fixed bug in aircombat.c when calculating the air combat odds.  Negative
+    numbers were screwing things up good...
+ * Fort sector's coordinates are no longer printed when auto-firing at
+    ships.
+ * Subs can now surface and fire deck guns (again)  They can also be
+    hit by return fire when doing so.
+ * Fixed bug in setting of plane attack and defensive values so that
+    negative numbers don't keep going further negative.
+ * Fixed incorrect military control calculation in the sell command.
+ * Trading posts are no longer required to sell goods from.  You can sell
+    from harbors and warehouses now too.
+ * Spy now prints out the owner of land units you see when spying.  Before
+    this was assumed to be sector owner, which is no longer true.
+ * Loading land units now prints out what was loaded onto each unit,
+    just as loading ships do.
+ * Added fallout, coast, c_del, m_del, c_cut and m_cut to dump output.
+ * Added "GO_RENEW" option.  This option means that gold and oil resources
+    are renewable.
+ * Added "lost_items_timeout" config variable, and set the default to
+    48 hours.  This determines how long lost items stay in the lost items
+    database.
+ * Fixed land unit names to be more consistent.
+ * Fixed mission.t info page.
+ * Fixed bug in that if mission_mob_cost was set to 0, even negative
+    mob units should be able to be put on missions.
+ * Removed restriction on things needing to be at least 60% to be put
+    on a mission.  Note that while you can put them on missions at < 60%
+    now, when trying to do the mission, it still checks the eff.  This
+    is to help in automatic setup (build, put on mission, forget) instead
+    of having to come back repeatedly.
+ * Spies caught in Neutral or Friendly countries cause the Neutral or
+    Friendly country to go Hostile towards the owner of the spy.
+ * Tweaked ammunition numbers for artillery units.
+ * No more automatic declarations of War should be made.  You will go 
+    hostile, but since going to war doesn't increase your countries
+    defenses, and is purely political, it is left to the player to go
+    that final step.
+ * Fixed bug in trade that wasn't incrementing the time if last second bidding.
+ * Fixed bug in "lmine" that was crashing the server if the land unit was
+    out of mobility.
+ * Fixed buy so that if you specify a product, you can only bid on that
+    type of product.
+ * Added "lost.t" info page.
+ * Added "lost items" database (EF_LOST)
+ * Fixed bug where you could move in allied forces after an attack if they
+    bordered the victim area.
+ * Fixed nstr_comp to deal with values > 16 bits coming in from
+    client for comparisons.
+ * Changed last minute market/trade timers to increment 5 minutes.  2 minutes
+    was too quick.
+ * Fixed decode in lib/common/nstr_subs.c to deal with NSC_TIME better.
+ * Commented out the logging of the market checking in server/marketup.c,
+    lib/commands/buy.c and lib/commands/trad.c  It was generating lots of
+    pretty much useless data that made parsing the server.log file more
+    more difficult than it needed to be.
+ * Fixed crashing bug in ldump.
+ * sdump, ldump, ndump, pdump and dump now print out the current
+    timestamp on the "DUMP XXX" line.
+ * Fixed denial of service bug in lib/player/accept.c in
+    player_find_other function.
+ * Fixed bug in shark reporting incorrect buyer of the loan.
+ * Fixed bug in sdump.c (case 0 should have been case 10)
+ * ldump and sdump now always print the fuel column if asked for,
+    even if opt_FUEL is turned off.  In the case that it is turned
+    off, the fuel is listed as 0.
+ * Added "timestamp" field, which is updated every time an item is
+    changed.
+ * Fixed up the Clients.t info page.
+ * sdump now prints trade ship building origin.
+ * sdump now always prints name even if SHIPNAMES isn't defined.  If
+    it is not defined, then the name is empty.
+ * Added "timestamp" to info/Concepts/Selector.t
+ * Added some more relevant info to info/Server/Empire4.t
+ * Fixed Infrastructure.t info page to reflect the fact that infrastructure
+    is no longer torn down when a sector is re-designated.
+ * Fixed sell.t to more accurately reflect the time-delay market.
+ * Fixed read.t and wire.t to reference accept and reject.
+ * Fixed reject.t not referencing accept command.
+ * Fixed collect.t to more accurately reflect what goes on when collecting
+    sectors.
+ * Fixed financial.t to reflect defaulted loans.
+ * Fixed dump.t, sdump.t, ldump.t, ndump.t, pdump.t to reflect new
+    timestamp info.
+ * Fixed "census.t" (had incorrect reference to "info syntax" instead
+    of "info Syntax".
+
+Changes to Empire 4.0.6 - Thu Jan 16 11:33 EST 1997
+ * Increased damage from depthcharges because on increased damage from
+    torpedos.  Sub frange decreased to be more balanced with destroyer frange.
+ * Intelligence reports (spy) on units will now report the estimated number
+    of mil on the unit.
+ * Fixed equation for ship visibility so it will drop as tech increases.
+ * Added new commands sdump, ldump, pdump, and ndump to dump data on ships,
+    land units, planes, and nukes.
+ * If fields are provided, dump will only supply those fields requested.
+ * Decreased speed of subs.
+ * When options NO_LCMS or NO_HCMS are set, those commodities are no longer
+    required for infrastructure improvements.
+ * Units that lose an assault or a boarding attempt from a ship will no
+    longer swim back to the ship they came from.
+ * Units that take extra casualties will no longer lose all their mil at
+    once.
+ * Infrastucture is retained when redesignating a sector.
+ * Dieing spies will no longer crash the server.
+ * Units, planes, and ships must have mobility to perform missions.
+ * Units on ship being scrapped are transferred to harbor.
+ * Food is no longer autoloaded onto units when they are built.
+ * Fixed show plane stat to show correct range.
+ * Infantries now take damage at same rate as casualties.
+ * Fixed bug with hap_fact.  Having more happiness now helps with fighting
+    che.
+ * Fixed anti to write back target country so che will continue to fight
+    when they survive.
+ * Fixed llookout to show correct estimate on number of mil on unit.
+ * Added buildable architecture "hp".  This type will build the server on
+    a HP/UX machine using the standard compiler instead of gcc.
+
+Changes to Empire 4.0.5 - Thu Dec 12 10:28:48 EST 1996
+ * Fixed bug in update/distribute.c where pathcost was not being called with
+    the MOB_ROAD argument (and thus distribution costs could be GREATLY
+    affected.) - Thanks Ice!
+
+Changes to Empire 4.0.4 - Mon Dec  9 11:00:00 EST 1996
+ * Fixed Solaris port using gcc.
+ * Fixed doconfig.c to create directories with right modes.
+ * Fixed install macros in makefiles to move binaries to the right
+    places.
+       
+Changes to Empire 4.0.3 - Wed Dec  4 22:46:53 EST 1996
+ * Added HP/UX port.
+ * Fixed doconfig.c (put exit(0) at the end of main.)
+ * Fixed improve.c (moved the prompt[] string outside the fcn.)
+
+Changes to Empire 4.0.2 - Mon Oct 14 12:26:40 EDT 1996
+ * Put in LND_MINMOBCOST in land.h
+ * Put in change in lnd_mobcost in lndsub.c
+ * Put in new nuke costs in nuke.c
+ * Put in fix so that total work can only be done by the max pop. No more extra
+    civvies tossed in will do it anymore in human.c.
+ * Put in fix for src/util/Makefile - beefed it up.
+ * Put in fix to show where your ship is when it gets shelled in mfir.c.
+ * Changed infrastructure of roads from .040 to .020 (122 instead of 150 in
+    common/move.c)
+ * Fixed Update-sequence.t.
+ * Put in fix for mobcost bonus for 0% highways.
+ * Fixed stop.t
+ * Fixed commodity.t
+ * Spruced up torpedo damage somewhat. :) :)
+ * Fixed "assault bmap bug" in attsub.c
+ * Fixed Produce.t (bars cost)
+ * Changed mountains to get an automatic "2" for defensive bonus in attsub.c
+ * Fixed consider.t
+ * Fixed repay.t
+ * Fixed offer.t
+ * Fixed "offer" and "consider" not being legal commands in player/empmod.c
+ * Fixed Damage.t
+ * Fixed sstat.t
+ * Fixed lstat.c, pstat.c and sstat.c
+ * Fixed cutoff command in cuto.c
+ * Fixed attack value in attack_val in lndsub.c
+ * Fixed lload in commands/load.c
+ * Fixed defense_val in lndsub.c - Made it a minimum of 1, so that units will
+    always fight until dead or retreating.  0 makes them get stuck. 
+ * Fixed update/deliver.c - no delivery of non-oldowned civvies (or anything
+    else for that matter.)
+ * Fixed llook in commands/look.c
+ * Fixed che bug in subs/nstr.c
+ * Fixed bug in strv.c by overcompensating by 1 food per sector (minute amounts
+    of people would starve.)
+ * Fixed update/human.c - feed_people rounding problems (I hope.)
+ * Fixed morale problem in update/land.c
+ * Fixed count_bodies in attsub.c
+ * Fixed lnd_mobcost.
+ * Fixed subs/land,plane,ship.c to handle sunken units and planes correctly.
+ * Fixed interest rate in commands/offe.c
+ * Fixed bug in buy.c.
+ * Put in DEFENSE_INFRA soption o you can turn on/off the use of the defensive
+    infrastructure.  When off, the defensive infrastructure is the same
+    as the sector efficiency, and you can't improve it.  This is OFF by
+    default.
+ * Fixed Empire4.t
+ * Added Wolfpack.t
+ * Land units are now built with a default reaction radius of 0.
+ * Changed name of lt artilleries to "lat" from "lart" so you can now build
+    "lar"s again.
+ * Lowered the speed and firing range of pt boats.
+ * Lowered the initial att strength of cavs from 1.5 to 1.3 (they were TOO
+    powerful.)
+ * Changed the max mob gain defaults of units/planes to 1.0 and ships to 1.5
+    (This is * ETU_RATE, so it is equal to ETU_RATE for units/planes and
+     1.5 * ETU_RATE for ships.)
+ * Conquered civvies only pay 1/4 taxes.
+ * Railways don't get torn down when you rebuild sectors anymore (but roads
+    and defenses do (if enabled.)
+
+Changes to Empire 4.0.1 - Wed Aug 28 11:35:40 EDT 1996
+ * Added "extern double tradetax" to check_trade in trad.c
+ * Improved description of data directory in build.conf
+ * Fixed bug in attacking land units that retreat so they now get
+    charged mobility for attacking.
+ * Fixed dump to report road, rail and defense of a sector at the end.
+ * Fixed doconfig bug in not checking the right directory to see if the
+    "data" directory existed or not before trying to create it.
+ * "change" now works for sanctuary countries.
+ * Fixed the description of "sinfrastructure".
+ * Added more info to "Infrastructure".
+ * Units/planes are no longer reduced to 75% when bought from the trading
+    block.
+ * Supply units were slowed down to the speed of infantry units.
+ * Trade-ship payoffs have been lowered to 2.5, 3.5 and 5.0
+ * Bars interest is up to $250 per 1K again.
+ * Civ taxes were raised back up to a 10:1 mil/civ tax ratio (was 20:1)
+ * Fixed various info pages.
+ * Fixed bug in people not getting truncated when broke (this was thought
+    to be fixed, but wasn't. Now it is, dammit!)
+ * Fixed bug with units marching across oceans (scuba gear not included. ;-) )
+ * Market/trade taxes and trade ship payoff figures were added to version.
+ * "cede" has been removed as a default command.
+ * Makefile rule was fixed for depend build.
+ * Fixed bug in mapdist not taking world edges into account nicely enough.
+ * Added a "scuttle" order for autoscuttling trade ships.  Makes using them
+    easier.  Cleaned up scuttle code while in there.
+ * Fixed bug with scuttling a ship with units on it not scuttling the units
+    too.
+
+Changes to Empire 4.0.0 - Initial release
+ * Initial Wolfpack release - Long live the Wolfpack!!!!
+ * Cleaned up the build environment.  Now all that is needed is to edit the
+    build.conf file, answer the questions there and type "make <arch>" to
+    build for a specific architecture.  Thus, no more reliance on gnumake
+    or special shell scripts.
+ * We are now shipping the pre-built info pages with the server for those who
+    Don't want to build them.  You can also still just type "make" and have
+    the info pages build, but it doesn't completely work (i.e. rebuild new
+    Subjects) if you don't have perl5 installed.
+ * Put in the "help" command that does the same thing as "info".
+ * Removed C_SYNC.  This is done for 2 reasons.  1) None of us like it or
+    wish to support it.  2) We envision a better scheme for doing similar
+    things will come along.
+ * Put in MOB_ACCESS - This allows real-time updating of mobility.
+ * Put in MARKET - This is the time-based market (yes, still teleports,
+    but it's not as bad as it was.)
+ * Lots of the documenation has been updated, but there is more to do.
+ * Added NO_LCMS, NO_HCMS and NO_OIL options.  When any of these options are
+    enabled, you don't need any of that type of material to build things.
+    If NO_HCMS is enabled, you don't need HCMS to build bridges, you need
+    lcms.  If both NO_HCMS and NO_LCMS are enabled, then you don't need 
+    any materials to build a bridge.
+ * There is no mobility cost for assigning missions.  But, there is also
+    no longer any benefit for being on a mission either.
+ * Damage is the same for all commodities (people too.)  This means you
+    can deity shell/bomb sectors again.
+ * Units are now dependant on tech.  What this means is that their statistics
+    now increase with tech.  In addition, there is only 1 type of each basic
+    unit now (i.e. just "cavalry" instead of "cavalry 1", "cavalry 2", etc.)
+    This reflects the idea that as you learn more, you learn how to not only
+    build better units, but you learn to build units better. :)  This also
+    opens the door for a "lupgrade" command along the same lines as the
+    "upgrade" command for ships.
+ * Units now have a minimum mob cost for attacking a sector.  Marching
+    mob costs have not changed.
+ * Starting units have been removed.  This means that at the beginning, people
+    may live a little longer since their neighbor can't come visiting quite
+    as quick.
+ * Shells are no longer required to build units.
+ * Mil are no longer required to build units.
+ * Mil are no longer an intrinsic part of a unit.  They are now a loadable
+    commodity.  The way a unit's defense/att bonuses work now are
+        attack = (att * mil * eff)
+        defense = (def * mil * eff)
+    In addition, when a unit takes damage, both the eff and the mil go
+    down.  You can quickly toss in new hacks, but you need to wait to repair
+    the unit at the update.  Thus, you can now look at unit's efficiency
+    as their training.
+ * You need at least 1 mil on a unit to march it (spies are the exception.)
+ * Units always react if in range and they have the mobility, no matter
+    what their efficency.
+ * Units may now march anywhere - in your own sectors, deity owned sectors
+    or allied sectors, with 1 exception, spies.  Also, your units can get
+    trapped if your ally declares non-alliance with you while your units
+    are still in his country.)
+ * Units always march at their speed, efficiency doesn't matter.
+ * LANDSPIES was added - This creates land unit based spies.  Spies may march
+    anywhere, with a chance of getting caught (except in allied territory.)
+    See "info Spies" for more info on them.
+ * Planes may now be based out of allied airports.  Landing planes on
+    ships/sectors you do not own no longer changes thier owner.  You can only
+    land on owned/allied sectors/ships, and you may only
+    fly/bomb/para/recon/drop from owned/allied sectors.  So, if a country
+    you are allied with goes hostile at you, your planes are now stuck there.
+    Note that if you are using an allied airport, their commodities get
+    sucked up, not yours (obviously.)
+ * Planes are now tech-based.  Their statistics increase as their tech
+    increases.  Deleted extraneous planes.
+ * There is a new toggle, "techlists", which allows you to see what you
+    can build/stats/capabilities sorted by tech instead of groupings.
+ * Ships are now tech-based.  Their statistics increase as their tech
+    increases.  Deleted extraneous ships.
+ * Che can now be lessened by making happiness.  If you have more happiness
+    than your conquered populace, they don't fight as hard or recruit as
+    much.  If you have less than them, they fight harder and recruit more.
+    It's not much though - it ranges from 2.0 in your favor to only 0.8 
+    against you (whereas it was always 1.0 before.)  So, it definitely
+    favors the attackers to make lots of happy now.
+ * Bridgeheads can only be built on coasts.
+ * Players command was fixed so you only see allies, and don't get
+    approx #'s of players anymore.
+ * POSIX threads support has been added.
+ * The attack bmap bug has been fixed.
+ * BTUs regenerate 3 times faster now.
+ * GRAB_THINGS is off by default.
+ * Big nuclear bombs are back, and FALLOUT has been fixed and enabled
+    as a default (you couldn't make wasteland before with FALLOUT, now
+    you can.)
+ * You can now deliver military and civilians.
+ * Added SHIP_DECAY option - off by default (turns off ships decaying out
+    at sea if not enough mil.)
+ * The reverting owner bug has been fixed in territory, thresh, dist
+    and deliver.  There are probably more, and when found, will be fixed.
+ * The "sectors don't starve when stopped or broke" bug has been fixed.
+ * The "people never get truncated" bug has been fixed.
+ * Added infrastructure to sectors.  What this means is that a sector
+    can now have it's mobility improved by building both roads and
+    railways.  It also means that a sectors defense is now based on the
+    defensive infrastructure you build into the sector (no more intrinsic
+    better defenses based on the sector, you determine which sectors are
+    defended heavily, and which aren't.)
+ * The defensive value of a sector no longer relies on the efficiency of
+    the sector. Instead, it relies on the defensive efficiency of the sector.
+    Thus, the "production" and "defensive" aspects of sectors have been
+    separated.
+ * "show sect stats" now shows the maximum defensive value for sectors.
+ * Changed sector structure to take floats for off/def values so we can use
+    a base of 1 instead of 2.
+ * Added "improve" and "sinfrastructure" to support the infrastructure
+    concepts.
+ * Added L_TRAIN units which can only travel along railways.  Very fast on
+    efficient railways, slow on non-efficient ones.
+ * Added the ability for units to carry other units.
+ * Fixed census (shortened up "fallout" and "coast" to "fall" and "coa".)
+ * Forts only cost $500 to build and 100 hcms now (since they don't get any
+    better defenses automagically.)
+ * Modified "show sect build" to show the costs for building up the
+    infrastructure of a sector.
+ * Changed "spy" and the satellite recon stuff (which shows sector stuff for
+    spyplanes too) to show the new infrastructure stuff, rounded of course.
+ * Added Drake's info->html scripts, with some modifications, so you can
+    now type "make html" and have your info pages built as html files too.
+    This adds a new directory, "info.html", to the build tree.
+ * Modified upgrade so that planes and land units may now be upgraded.
+ * Added pstat command to list the statistics of your planes.
+ * Added lstat command to list the statistics of your land units.
+ * Added sstat command to list the statistics of your ships.
+ * Added nmap command to show a map of your sectors after their new
+    designations have taken place.
+
diff --git a/doc/README b/doc/README
new file mode 100644 (file)
index 0000000..1807db7
--- /dev/null
@@ -0,0 +1,54 @@
+This directory contains the following files:
+
+files
+       What's where.
+
+backup
+    Recommendations for how to do backups when running a game.
+
+troubleshooting
+       Some common problems and solutions.
+
+disk_space
+       Stuff you can delete to make more disk space.
+
+compiling
+       How to compile the Empire2 server.
+
+configuration    
+       How to turn options on and off, change game parameters, etc...
+
+econfig
+       Details about the syntax of data/econfig.
+
+bug-reports
+       What to do if you find a bug.
+
+threads
+       Dave Pare explains how lwp threads work.
+
+coding           
+       Guidelines for coding style
+
+CHANGES
+       Revision history for all the changes that were coded in the Empire2
+       project.  A much more readable version of this may be found in
+       "info History" (brief) or "info Empire2" (detailed).
+
+CHANGES2.3
+       All changes since revision 2.3
+
+CHANGES3.0
+       All changes since revision 3.0
+
+CHANGES4.0
+       All changes since revision 4.0
+
+PRIORITY
+       things which need to be coded soon.
+
+WISH_LIST
+       things which maybe should be coded sometime.
+
+WACKY_IDEAS
+       things which shouldn't be coded except possibly as an option.
diff --git a/doc/WACKY_IDEAS b/doc/WACKY_IDEAS
new file mode 100644 (file)
index 0000000..faa8ebc
--- /dev/null
@@ -0,0 +1,171 @@
+-=O EMPIRE WACKY IDEAS LIST O=-
+
+This file contains the more bizarre and outlandish proposals for
+changing the game of Empire.  See the EMPIRE WISH LIST for an
+explanation of the indexing system.
+
+  _________________________________________________________________
+
+--- TABLE OF CONTENTS ---
+
+Attack, Assault and Board.................a 
+Missions..................................m 
+Ships.....................................s 
+Planes....................................p 
+Land Units................................l 
+Commodities and Sectors...................c 
+Information Commands......................i 
+Telegrams, Announcements, News............t 
+Updates...................................u 
+Deity.....................................d 
+Miscellanious and Documentation...........x 
+Error Messages............................e 
+
+  --- ATTACK, ASSAULT AND BOARD --- 
+
+a4
+frontline <UNITS>
+When a unit is created, it is automatically put on the frontline
+(except for artillery and supply units). This means that when you
+attack an adjacent sector, you will be asked if you want to include
+this unit in the attack.
+backline <UNITS>
+When a unit is put on a mission, it is automatically put on the
+backline. This means that when you attack, you won't be asked about
+attacking with this unit. Also, supply units and artillery are born on
+the backline. When attacking with units, allow the user to type Y,
+rather than typing y for all the units you want to attack with. Y
+would mean "attack with all units on the frontline". At the attack
+prompt, you will be asked: Attack with infantry #3 (y/n/Y/N/b)? and
+the "b" will mean "backline". This would be particularly handy when
+attacking with a bunch of units and you want to leave some of them
+behind to hold the beach-head. And you want to stop being prompted for
+them.
+
+  --- SHIPS --- 
+  
+s9
+swap [s|p|l] <UNIT1> <UNIT2>
+Swap the id numbers of units so you can control the order in which
+they are built. In order to swap the numbers, the units must be in the
+same sector, and the sector must be either a h/*/! as appropriate.
+WARNING: this could be seriously abused!
+
+s11
+nuclear subs consume rads as fuel? need rads to build nuc sub?
+
+s17
+in fuel command, one petrol should be worth 20 oil. right now it is
+more efficient to fuel ships and units with oil rather than with
+petrol.
+( in this one, it would probably be better IMHO to get rid of fueling
+with oil altogether - Ken H.)
+
+s20
+Make assaulting cost ship mobility. This would help stop the ability
+to assault with a small amount of mil over and over until
+reacting units run out of mobility.
+
+  --- PLANES --- 
+  
+p3
+Allow transport planes to paradrop land units. (This would be
+realistic.) Would use the following analogy:
+
+Units on Planes         Units on Ships
+x-light                 assault
+para                    marine
+cargo                   light
+
+So, "cargo" units could be transported, "x-light" units could paradrop
+but at a serious disadvantage and would lose all mob, and "para" units
+could paradrop like marines could assault (with full attack and
+reduced mob loss).
+
+p8
+planes should mobility when loaded and unloaded from a ship.
+
+p12
+Have an aquatic plane type. This would be a medium to small cargo
+plane, that must be built in an airport but can only take off froma
+harbor, or sea sector. While on the water, it could tend, however, not
+be able to nav. It might, or might not be able to lay/sweep mines. And
+fuel is another issue that would need to be looked into.
+
+p14
+perhaps the range a plane can fly should be limited by its efficiency.
+
+  --- LAND UNITS --- 
+  
+l2
+trans l <FROMSECT> <TOSECT>
+to use sector mobility to transport a land unit from one sector to
+another.
+
+l3
+Make a new kind of land unit (transport trucks) which can carry land
+units in a similar way that ships can carry units. This would allow
+you to transport heavy artillery and unmechanized infantry around
+faster. (This would be a realistic change).
+
+l5
+Have very expensive land units called a spies:
+
+                       lcm hcm mil guns shells avail tech  $
+spy 1                      10   0   1    0      0     2    0  $2000
+spy 2                      10   0   1    0      0     2    0  $5000
+spy 3                      10   0   1    0      0     2    0  $8000
+
+
+
+Spies can march through enemy territory and llook in there. Every
+update, there will be a chance the spy is caught. Also there is a
+chance it will be caught every time it moves in enemy territory and
+every time it does an "lloo". It will be completely unaffected by
+combat. The chance of detection should be something like: spy 1 10%,
+spy 2 5%, spy 3 2%.
+
+l6
+land units should lose mob when loaded/unloaded from a ship.
+
+l10
+mobile headquarters unit type - capable of repairing land units by
+using mobility, supplies, and mil. How about just letting engineers
+work on units also?
+
+  --- COMMODITIES AND SECTORS --- 
+  
+c9
+Limit the amount of commodities (by weight) allowed to be kept on a
+bridge, and have a stacking limit for units on a bridge. (Bridges can
+only support so much weight eh?)
+
+c10
+build tu
+At a price, build a tunnel through a mountain sector. This would turn
+a ^ into a + at some great cost.
+
+c12
+autodemob 11,11 35 y
+"autodemob" is to "demob" what "autonav" is to "nav". The principle is
+simple: "autodemob 11,11 35 y" means every update, demob all the mil
+in 11,11 except for 35. ( note - makes budget more complex - Oliver
+Ricou )
+
+c14
+We need some Empire command which lets you do a lot of moving at once
+with minimal BTU cost. Here would be one possible syntax: multimove
+<ITEM> <SECTS> <THRESHOLD> <DISTSECT> <MINMOB> This is just like
+distribute at the update. It would distribute commodities between
+<SECTS> and <DISTSECT> depending on <THRESHOLD> (which applies to the
+<SECTS>), and only doing moves provided that the mobility doesn't fall
+below <MINMOB> in any of the sectors involved: empire [124,512]%
+multimove f * ?civ>20 40 1,1 40 An alternate symtax could be:
+multimove <ITEM>
+where existing distribution thresholds are used.
+
+  --- MISCELLANIOUS AND DOCUMENTATION --- 
+  
+x25
+national happiness should be affected by your victories/losses, and if
+you drown your mil (by scuttle/scrap) or starv your populace.
diff --git a/doc/WISH_LIST b/doc/WISH_LIST
new file mode 100644 (file)
index 0000000..664fc43
--- /dev/null
@@ -0,0 +1,208 @@
+-=O EMPIRE WISH LIST O=-
+
+This is the complete Empire Wish List. Each item on the wish list has
+been given a unique reference number. The reference number does not
+indicate priority; it is only there so that we may easily refer to
+various items on the list. The reference numbers are permanent, and
+any new item added to the wish list in the future will be given a new
+unique reference number.
+
+The blank index number at the bottom of each section refers to the
+next available index number for that section.
+
+Note that the most radical have been moved out of the EMPIRE WISH LIST
+and onto the EMPIRE WACKY IDEAS LIST which shares the same indexing system
+as this file.
+
+  _________________________________________________________________
+
+--- TABLE OF CONTENTS ---
+
+Attack, Assault and Board.................a 
+Missions..................................m 
+Ships.....................................s 
+Planes....................................p 
+Land Units................................l 
+Commodities and Sectors...................c 
+Information Commands......................i 
+Telegrams, Announcements, News............t 
+Updates...................................u 
+Deity.....................................d 
+Miscellanious and Documentation...........x 
+Error Messages............................e 
+
+  --- ATTACK, ASSAULT AND BOARD --- 
+  
+a12
+aborting an attack should cost you btus or possibly mobility
+(otherwise you get info for free).
+
+a13
+
+  --- MISSIONS --- 
+  
+m7
+Allow people to specify relation level to trigger different missions
+(note there is already space for this in the nation struct).
+
+m8
+
+  --- SHIPS --- 
+  
+s4
+For ship/plane/unit specification, allow a/13/b/15/16/c type
+specification where fleets, wings, and armies may be included along
+with numbers.  (WARNING: This would require massive restructuring.)
+
+s13
+once ships on sail have arrived at their destination, the "Your fleet
+lead by ship #x has reached x,y." in production report every time.
+
+s22
+Another suggestion related to s21. The gain in efficiency of planes on
+carriers or sufficiently crewed ships on sea should use construction
+materials etc. This is to make it consistent with land units gaining
+efficiency in a sector where the necessary materials are present.
+Otherwise it leads to abuse: Say in the beginning of the game I build
+a ship but don't want to spend the hcms to build it completely - so I
+just crew it it will gain efficiency by itself. I think it could
+easily be implemented by giving every ship some capacity for lcms and
+hcm's.
+
+s24
+
+  --- PLANES --- 
+  
+p10
+chh [38:382]% scrap p 28,0 ?eff<50
+Really scrap all planes in 28,0 [n]? n
+The prompt is misleading.  (Same goes for scuttle).  Scuttle and scrap
+should probably be consolidated.
+
+p17
+
+  --- LAND UNITS --- 
+  
+l14
+perhaps since land units in mountains are so hard to attack, we shuold
+just not let land units into mountains to begin with.
+
+l16
+
+  --- COMMODITIES AND SECTORS --- 
+  
+c8
+Change bridges (and towers) so that they only crumble when shelled
+below 15%. Allows attackers an extra chance for a bridge attack.
+
+c13
+feed <SECTS> <SECT>
+If a sector in <SECTS> needs more food, send it food from <SECT>.
+
+c16 - WARNING - may be difficult to code
+forts should return fire even if shot missed
+
+c19
+
+  --- INFORMATION COMMANDS --- 
+  
+i5
+neweff [s <SHIPS>|p <PLANES>|l <UNITS>] to show the efficiency these
+things will have after the update. At present you can only get this
+info by doing some heavy calculations.
+
+i10
+gstarve <SECTS>
+lists sectors that need more food if they want to attain maximum civ
+growth.
+
+i12
+prod
+should list the commodities consumed in f h * ! sectors for building
+stuff. (This would help you calculate your production deltas.)
+
+i16
+bmap <SECTS> sh
+to show enemy ships (that you would see with radar or coastwatch).
+
+i17
+bmap <SECTS> sa
+to show enemy satellites (that you would see on radar).
+
+i18
+dump
+should give you the oldown number, rather than just a *. (Does dump
+only give you a * if you're not the oldown? I don't know. You can find
+the oldown using ?oldown= so dump should give it to you).
+
+i20
+radar [<SHIPS> | <SECTS>] S
+shows enemy ships but not your own.
+
+i22
+cen * ?connect=<SECT>
+lists all sectors connected by land to <SECT>. Handy for setting up
+territories.
+
+i24
+Allow | as well as & in selection syntax. e.g. res * ?des=o|des=g
+(WARNING: cannot use single bar as the or character because "|" is
+used as a pipe in the standard client and possibly in other clients.
+Another character should be used instead ( or maybe "||"?)
+
+i27
+
+  --- TELEGRAMS, ANNOUNCEMENTS, NEWS --- 
+  
+t2
+Separate BULLETIN's from Telegrams (so that when we're in the middle
+of a fight we will know if we were just attacked or we simply have
+just received a letter from a friend).
+
+t9
+When you are writing a telegram or an announcement and an update hits,
+then your telegram or announcement gets lost. ( is it even POSSIBLE to
+fix this?)
+
+t10
+
+  --- UPDATES --- 
+  
+u5
+Planes should not be built by conquered populace. (The problem here is
+that building planes uses mil, and you can lose the sector because all
+your mil that was being used to hold the sector disappeared into the
+planes so you loose the sector at the update.)  ALREADY FIXED?
+
+u9
+
+  --- DEITY --- 
+  
+d3
+Add che (target and number) to deity dump format.
+
+d8
+
+  --- MISCELLANIOUS AND DOCUMENTATION --- 
+  
+x1
+Often BTU's aren't updated immediately, and the prompt is out of sync
+with the actual amount of BTU's they have.
+
+x6
+info takeover, avail, loyalty
+There should be man pages on these.
+
+x26
+
+  --- ERROR MESSAGES --- 
+  
+e3
+  _________________________________________________________________
+
+If you have any comments/additions regarding this list, mail them to
+me at wolfpack@wolfpackempire.com with the word "wish" in the subject line.
+
+Wolfpack!
+
+Last updated: January, 1999
diff --git a/doc/backups b/doc/backups
new file mode 100644 (file)
index 0000000..53f99fd
--- /dev/null
@@ -0,0 +1,14 @@
+It is recommended that you take a backup of the "data" directory once
+in a while in case of system crashes, data corruption, or whatever.
+
+It is VERY important to note that you should only take complete snapshots
+of the data directory and only restore complete snapshots of the data
+directory.  Restoring individual files from backups can cause problems.
+Some of the known problems with partial restores are:
+
+ * In games with MOB_ACCESS enabled, mobility will be extremely out of
+   sync if you do not do a complete data directory restore.
+
+ * Land units, ships and planes may think they are loaded onto ships
+   or land units that do not exist, or have changed owner (been sunk
+   or destroyed and then rebuilt) since the last backup.
diff --git a/doc/bug-reports b/doc/bug-reports
new file mode 100644 (file)
index 0000000..db4120d
--- /dev/null
@@ -0,0 +1,42 @@
+                       Reporting Bugs
+
+Code Correctness
+
+       What's a bug?  Well, if a game program core-dumps under normal
+       conditions, that's definitely a bug.  If a player can manufacture
+       game items (circumventing the intended game semantics) then
+       that's a bug too.
+
+       If you don't agree about an existing semantic, or you don't like
+       the format of a particular command output, that's NOT a bug!
+
+       If you do have a bug to report, I will only pay attention if
+       I have a chance of fixing it.  Bug reports which vaguely
+       describe behavior, e.g., "Sometimes when I run the ship
+       command, it gives me funny output" will be ignored!  Bug
+       reports should include game output, stack traces if possible
+       (assuming a core dump is produced), and the major, minor, and
+       patch level of the version you're running.
+
+       Once you find a bug, try and reproduce it.  If you can't,
+       then say so.  If you can, say that too.  If you can't reproduce
+       it, chances are pretty good that I can't either.
+
+       If you have a debugger, try running the offending game
+       section under your debugger -- preferably gdb -- and try
+       and locate the area of code responsible.
+
+       If you can fix the bug and verify the fix, then you can bet
+       that I'll be much more interested in your bug report.  Response
+       time is likely to be greater too!
+
+Semantics
+
+       If you want to get into a discussion of game semantics, the
+       best place to do that is rec.games.empire, or your favorite
+       empire-hackers mailing list.  Don't send me a bug report
+       about it!
+
+       Naturally, I hope you don't find any bugs.  If you do,
+       go through the above steps, and mail the resulting output
+       to us -- wolfpack@wolfpackempire.com
diff --git a/doc/coding b/doc/coding
new file mode 100644 (file)
index 0000000..7083c3b
--- /dev/null
@@ -0,0 +1,143 @@
+               Guidelines for writing Empire code
+
+
+Remarks from Dave Pare:
+
+And now, a few editorial remarks on my views on Good Techniques for
+Modifying Existing Software:
+
+My safari through the hot and bug-ridden jungle that Empire has become
+has given me some new insights on the modification of large software
+packages.  My adventure has prompted me to propose some simple coding
+guidelines for those dreaming of hacking on the code:
+
+1) Be invisible.  When you make a change, think not about marking your
+place in history, or about showing off how much nicer your two-space
+tabs are than those old, icky eight-space tabs that the stupid empire
+hackers of old used, but think instead about the asethetics of the whole.
+The resulting lines of code should flow smoothly from the beginning of the
+procedure to the end.  Empire is 60,000 lines of code.  If you're the
+general case, you're only changing fifty lines, so be aware of that.
+
+2) Procedurize.  If you find yourself in a triple-nested loop, or a five
+hundred line procedure, perhaps it's because you need to split some of
+that code off into a procedure.  In general, if you've got more than two
+levels of tabs (or indentations), or more than one or two major loops in
+a procedure, something may well be amiss.
+
+
+Sasha Mikheev on indentation:
+
+The empire indentation style can be achived by using 
+indent -orig -i8 foo.c
+
+or in old c-mode emacs (versions before 19.29):
+;add this to .emacs
+(setq c-indent-level 8)
+(setq c-continued-statement-offset 8)
+(setq c-argdecl-indent 8)
+(setq c-brace-offset -8)
+(setq c-label-offset -8)
+
+
+Further comments by Ken Stevens:
+
+1) Global variables
+The only variables which should be global are constants.  If you write
+a routine which changes a global variable, then you will corrupt the
+data when two different players run that routine at the same time.
+
+2) Portability.
+The following code:
+               char    a;
+       #ifdef FOO
+               unsigned char b;
+       #endif FOO
+Should be rewritten as:
+               s_char  a;
+       #ifdef FOO
+               u_char  b;
+       #endif /* FOO */
+
+AIX has different conventions for signed chars, and IRIX requires the
+/* comments */ after #endif.
+
+3) Cut-and-Paste
+Cut-and-Paste coding is by far the biggest problem that the current
+Empire suffers from.  This is how cut-and-paste coding happens.  Joe
+Shmuck decides that he wants to add a new function to the server.  So
+he goes hunting through the server to find some already existing code
+which does something similar to what he wants to do.  This is good.
+You should always write new code to imitate old code.  What is bad is
+when&n