|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T e
Length: 23363 (0x5b43)
Types: TextFile
Names: »empire.1.1-1.2«
└─⟦b20c6495f⟧ Bits:30007238 EUUGD18: Wien-båndet, efterår 1987
└─⟦this⟧ »EUUGD18/General/Empire.V/empire.1.1-1.2«
# This shell script converts the unmodified contents of an
# Old Empire Version 1.1 directory structure to Old Empire Version 1.2.
# This probably only works on Old Empire 1.1 as distributed from
# ihnp4!druxn!tsf. That is, if the original distribution was hacked
# upon, this script might do more harm than good.
# You don't have to blow away an active game database. If you have a game
# in progress, just remake and install the commands, being careful to
# get the changes in EMPGLB/*glb.c into your EMPGLB/empglb.c .
# If you have problems, please send email to ihnp4!drutx!tsf .
#
# sh mailfile Unpack the shar'd script
# echo "Don't clobber your V1.1 until" Warning..
# echo "you're sure V1.2 works!" ..common sense..
# mkdir V1.2 Create directory for V1.2
# cd V1.1 Get into V1.1 directory
# find . -print | cpio -pumd ../V1.2 Copy V1.1 into V1.2
# cd .. Position just above V1.2
# chmod 000 V1.1 Do something to protect V1.1
# sh upg1.1-1.2 Convert V1.1 to V1.2
# chmod 755 V1.1 Undo V1.1 protection
#
echo "Copying Buglist into 1.1Buglist"
cp V1.2/Buglist V1.2/1.1Buglist
echo "Updating Buglist"
ed - V1.2/Buglist <<'!DONE!'
379,420c
36) If a player uses the "shell" command, he/she can then execute empire
from the shell to enter the game a second time. This might cause a
problem.
.
376,377c
Fix: Change the manual page.
.
373,374c
35) The innards manual page states that iwork * efficiency units of
ore are turned into production units. That's 100 times more than
the program actually does.
.
367,371c
Fix: In cens.c and rout.c, take out the check for S_XCHNG and
subsequent clearing of the delivery bytes.
.
364,365c
34) The census and route commands don't show the civilian and military
delivery routes through an exchange sector.
.
360,362c
Fix: In empdis.c and empire.c where the empup and/or empdown files
are read, use an automatic buf[514] to hold the contents.
The code should use a symbolic constant (MAXTELSZ) to hold
the maximum telegram size, but for now minimize the number of
files hit.
.
356,358c
33) The empup or empdown messages can be up to 512 characters long, but
the files are read into a buffer (junk[80]) only 80 characters long.
.
351,354c
Fix: This happens when the privuid logs in as any country other
than the Deity and the empdown file exists. In empdis.c, rework
the section right after the check for the empdown file. Instead
of exec'ing emprog[0] just to get the empdown file printed out,
read the file in empdis.c, close it, then call bye() to clean
up properly.
.
348,349c
32) If there is a empdown file, it prints out the empdown message
twice, asks for the rep's name twice, then says that there is no
'empire' in the records, please see "privname". Also, when a player
is bounced out because the empdown file shows up, the nation status
still shows that country logged in.
.
344,346c
Fix: Add check in boar.c to make Deity-owned ships invisible.
.
342c
31) You can board a ship owned by the Deity.
.
339,340c
30) If a grant is in an exec script, the Rep's name isn't obtained
properly. The message "Eek, an imposter.." is printed.
.
337c
Fix: The manual page says each gold bar should be worth 5 points.
Change powe.c to match the manual page (used to be 3 points
per bar).
.
331,335c
29) The power formula in the manual page doesn't match the code in powe.c
.
328,329c
Fix: When the new designation is a gold mine, the ore gets
set to zero. Add a putsect to make the change permanent,
and also set goods[5] = 0 to make sure ore in a warehouse
doesn't also become gold dust.
.
325,326c
28) You can make gold dust out of ordinary ore by changing a sector
containing ordinary ore to a bridge head, and then into a gold mine.
A message claims that ore has been lost, but in fact, it's still
there. It becomes gold dust by its presence in the gold mine.
It turns out that ore in a warehouse, bank, or urban area can also
become gold dust.
.
317,323c
Fix: In trad.c add a check to disallow buying ships from the Deity.
.
311,315c
27) You can buy a ship from the Deity. When a country puts ships up for
sale, then dissolves its government, some of the ships become owned
by the Deity, and they're still for sale. This could also be used to
buy back your ship after it sinks. When you know your ship's about to
be sunk, put it up for sale. After it sinks and then regains enough
efficiency to stay afloat, and before anyone builds another ship, buy
it back.
.
306,309c
Fix: In upda.c, instead of changing realm 0 to 127:-127,127:-127,
and then leaving it that way when no sectors are found,
only change realm 0 if sectors are found. In addition, if
no sectors are found, print "No sectors".
.
294,304c
26) After updating a sector with the "update" command that wasn't owned,
cen #0 produced output with coordinates greater than the max world
dimensions.
.
292c
Fix: Cast comaddr to int in switch statement.
.
287,290c
25) Compiler warning on line 397 of empdis.c.
.
281,285c
Fix: In desi.c, change to "... capital".
.
279c
24) Spelling error in designate command: "You are now without a capitol"
.
274,277c
23) Various cheating opportunities exist because of no mutual exclusion
enforcement on database.
.
272c
Fix: In empcre.c the scts, elcnts, type, and powbuf arrays were
on the stack and uninitialized. This caused garbage to be
written to the sector file (empsect). Initialize the arrays
with zeros.
.
269,270c
22) On a 3b2, empcre reports screwy statistics right after making the
world, random sectors have the plague right after creation, the census
command shows strange values for commodities in brand new sectors,
and the power command dumps memory.
.
266,267c
Fix: Make both libraries the target of .PRECIOUS in both the local
and top-level makefiles.
.
262,264c
21) If the make is interrupted during the empsub.a make, empsub.a is
removed.
.
239,260c
Fix: This broke when the mobility of sectors and ships was made
a short instead of a character to port the game to machines
with unsigned characters.
In empglb.c (sysglb.c and myglb.c), change the i_shp member
of the ichr[6] element ("mobility") from 0 to
(char *)&(((struct shpstr *)0)->shp_mbl). (Hard to believe, isn't
it?). Also, in nxtsct.c in the decode function, check to see if
the cp pointer is pointing to sect.sct_mobil. If it is, set
code directly (code = sect.sct_mobil). Similarly, in nxtshp.c
in the bdecode function, check to see if the cp pointer is
pointing to the shp_mbl member. If it is, set code directly
(code = sp->shp_mbl).
.
232,237c
20) Tried to nav all ships at -13,-11 with mobility greater than 100.
nav -13,-11 ?mob>100 lle
This command didn't work. It didn't seem to understand the mobility.
Upon further invstigation, a mobility condition on sectors isn't
understood either.
.
209,230c
Fix: In loans.c, change the wordfix for loner and lonee to
bytefix.
.
207c
19) Empfix doesn't handle loans quite right.
.
200,205c
Fix: In fly.c, right before X3612, the sector efficiency gets
right shifted 2. It should have been left shifted (i.e.
multiplied by 4). Use (500 - (sect.sct_effic*4))/10 to
specify the chances of landing successfully.
This makes kamikazi attacks on 100% sectors more effective
since more planes crash and blow up. More planes are lost.
.
197,198c
18) Crash landing on a 100% fort gives you 47% chance of making it.
The "fly" manual page says it should be 10%.
.
192,195c
17) You can log in using two terminals and keep the time from accumulating.
You can also save BTU's, build more than one battleship with 127
production units, etc. Anywhere there is a prompt, there is a potential
cheating opportunity with two or more terminals.
.
190c
Fix: Update to use the Bourne shell. Fix typos in sector-types,
innards, ship-types, designate, collect, and ship.
.
188c
16) The MAN.CCL command in the INFO directory doesn't work anymore. And
some of the manual pages have typos, misaligned text, etc.
.
185,186c
Fix: Put a dependency on _unix.O in all the appropriate
Makefiles.
.
183c
15) The makefiles should compensate for missing _unix.O directories.
.
180,181c
14) There should be a way of combining the 6 modules into one so that
the smaller machines like the 3b2 will run faster and use less disk
space.
.
178c
Fix: Put a note in the README for 3b2 users. Set CC="cc -f"
and export it. Then do a make -e all.
.
175,176c
13) The 3b2 final load needs to use the -f option to get floating point.
Otherwise, it will core dump on the first floating point operation.
.
165,173c
Fix: In sigsave.c, change the -1's to 1's.
.
162,163c
12) The sigsave function has a signal(-1, 1) call. The -1 causes the
3b2 to core dump on the next exec.
.
158,160c
11) In empdis.c, main(argc, argv) is called recursively after "shell",
"fixup", etc. There's a better way to do this. This way, the stack
grows on every shell command until a switch is made to a new module.
.
153,156c
Fix: In update.c, when delivering civ or mil, get the destination
sector with a special UP_WFDEL flag set. In getsect.c,
call update if UP_WFDEL is set. Back in update, if an
update is being done with UP_WFDEL set, inhibit delivery
of civ or mil (recursion stopper), and update sector to
within 4 time units of curup. This also requires a new
flag, UP_WFDEL, in empdef.h. The result is that whenever
civ or mil are delivered into a sector that hasn't been
updated lately, a sector update is forced (to within 4
time units), and all normal updating functions are performed
except for civ or mil delivery. By leaving the sector
4 units behind the current time, the civ or mil delivery will
take place when the sector is updated by a census.
.
151a
Similarily, military can be reused to increase efficiency in a long
chain of sectors.
.
130,147c
10) You can use civilians more than once - (the "rolling civilians" bug).
.
58,125c
9) One recipient of Version 1.0 would like all the ^G characters
.
52c
No Change: Hasn't been seen in a long while. Probably got
fixed when the other printf related bugs were fixed.
8) You get a core dump if you enter numbers that are greater than +127
.
47c
Fix: Change the algorithm for determining gold mineral content
so that there are similar distributions for 32x32, 64x64,
and 128x128 worlds. Changes are in empcre.c.
Also in empcre.c, change the arrays sizes for gold[], river[],
and volc[] from 50 to 200. This reduces the total world
gold content in the 64x64 world, but the result is (my guess)
more what was intended: localized gold strikes and mineral
content, rather than worldwide gold veins as it is now.
This means that some countries will find themselves in a
gold-poor region. They will have to trade with other countries,
or follow the gold veins (expand in the direction of increasing
gold content) to get enough gold bars to survive. The change
is noticeable to anyone who expects every sector to have a
gmin of 80 or better.
7) Telegrams get screwed up. It appears to be placing data from initial-
.
38,42c
6) World of size other than 64,64 never tested after decompilation.
.
34,36c
No Change: This is appropriate since the poor guys are probably
unconscious for a while.
.
30c
the welcome message still claims you have 0,0 and 1,0.
.
28a
Fix: In coun.c, change it to BTU so one doesn't confuse it
with accumulated session time.
.
23a
Fix: In update.c, right where the miners dig up some more ore
in a gold mine, no check was made to see if all the new ore
would fit in the sector. On machines with negative characters,
this results in negative ore, negative production, and possibly
negative gold bars. What fun! Spoil the fun by adding a check
to make sure all the new ore will fit.
.
2c
Version 1.2 Old Empire (Empire Classic!) - circa 1978, decompiled from
.
w
!DONE!
echo "Updating COMMANDS/boar.c"
ed - V1.2/COMMANDS/boar.c <<'!DONE!'
19c
if( vship == -1 || vs.shp_own == 0 ) {
.
w
!DONE!
echo "Updating COMMANDS/cens.c"
ed - V1.2/COMMANDS/cens.c <<'!DONE!'
40,42d
w
!DONE!
echo "Updating COMMANDS/coun.c"
ed - V1.2/COMMANDS/coun.c <<'!DONE!'
13c
printf(" # last access BTU \tstatus\t country name\n");
.
w
!DONE!
echo "Updating COMMANDS/desi.c"
ed - V1.2/COMMANDS/desi.c <<'!DONE!'
109c
printf("You are now without a capital.\n");
.
102a
putsect(nsct.n_x, nsct.n_y);
goods[5] = 0;
.
87c
printf("Capital at %d,%d (old system)", nsct.n_x, nsct.n_y);
.
w
!DONE!
echo "Updating COMMANDS/fly.c"
ed - V1.2/COMMANDS/fly.c <<'!DONE!'
243c
i = (500 - (sect.sct_effic * 4)) / 10;
.
w
!DONE!
echo "Updating COMMANDS/powe.c"
ed - V1.2/COMMANDS/powe.c <<'!DONE!'
132c
k->p_power += k->p_gold * 5. + k->p_money * 10.;
.
w
!DONE!
echo "Updating COMMANDS/rout.c"
ed - V1.2/COMMANDS/rout.c <<'!DONE!'
54d
w
!DONE!
echo "Updating COMMANDS/trad.c"
ed - V1.2/COMMANDS/trad.c <<'!DONE!'
87c
if( ship.shp_spric == 0 || ship.shp_own == 0 ) goto X1330;
.
w
!DONE!
echo "Updating COMMANDS/upda.c"
ed - V1.2/COMMANDS/upda.c <<'!DONE!'
53a
if( num == 0 ) {
printf("No sectors\n");
return(NORM_RETURN);
}
nrealm[0].b_xl = upxl;
nrealm[0].b_xh = upxh;
nrealm[0].b_yl = upyl;
nrealm[0].b_yh = upyh;
.
50,51c
if( j < upyl ) upyl = j;
if( j > upyh ) upyh = j;
.
45,46c
if( i < upxl ) upxl = i;
if( i > upxh ) upxh = i;
.
37,38c
upxl = upyl = 127;
upxh = upyh = -127;
.
9a
int upxl, upxh, upyl, upyh;
.
w
!DONE!
echo "Updating COMMANDS/vers.c"
ed - V1.2/COMMANDS/vers.c <<'!DONE!'
3c
char Version[] = "~@(#)Version 1.2 Old Empire\nDec 1986\n (decompiled 1983 from PDP 11/70 object)";
.
w
!DONE!
echo "Updating EMPCRE/Makefile"
ed - V1.2/EMPCRE/Makefile <<'!DONE!'
9a
_unix.O:
mkdir _unix.O
.
8c
$(INSDIR)/empcre: _unix.O _unix.O/empcre.o $(EMPGLB) $(EMPSUB)
.
w
!DONE!
echo "Updating EMPCRE/empcre.c"
ed - V1.2/EMPCRE/empcre.c <<'!DONE!'
132c
scts[i].sct_gmin = max127(e/14 + rand()%29);
.
130c
dist = dfact * dst(i-gold[k].x, j-gold[k].y);
e += 5000 / (dist + rand()%5 + 5);
.
128a
dfact = ( w_xsize > w_ysize ) ? w_xsize : w_ysize;
dfact = dfact/16 + 1;
.
38a
for( i = 0; i < 128; i++ ) {
scts[i].sct_owned = scts[i].sct_desig = scts[i].sct_effic = 0;
scts[i].sct_miner = scts[i].sct_gmin = scts[i].sct_prdct = 0;
scts[i].sct_mobil = scts[i].sct_chkpt = 0;
scts[i].sct_dfend = scts[i].sct_contr = scts[i].sct_civil = 0;
scts[i].sct_milit = scts[i].sct_shell = scts[i].sct_guns = 0;
scts[i].sct_plane = scts[i].sct_ore = scts[i].sct_gold = 0;
scts[i].sct_c_use = scts[i].sct_m_use = scts[i].sct_s_use = 0;
scts[i].sct_g_use = scts[i].sct_p_use = scts[i].sct_o_use = 0;
scts[i].sct_b_use = 0;
scts[i].sct_p_stage = scts[i].sct_p_time = 0;
scts[i].sct_lstup = 0;
}
for( i = 0; i < 1024; i++ ) elcnts[i] = 0;
for( i = 0; i < 23; i++ ) type[i] = 0;
for( i = 0; i < 48; i++ ) powbuf[i] = 0;
.
34a
int dist, dfact;
.
21c
} volc[200], gold[200], river[200];
.
w
!DONE!
echo "Updating EMPDIS/empdis.c"
ed - V1.2/EMPDIS/empdis.c <<'!DONE!'
397c
switch( (int)comaddr ) {
.
188,192d
186a
if( nstat != STAT_GOD ) {
read(n, &tgm, (sizeof tgm));
printf("Empire down for repairs as of %s", ctime(&tgm.tel_date));
read(n, buf, tgm.tel_length);
printf("%s\n", buf);
close(n);
bye();
}
.
102c
char *copy(), *ctime();
char buf[514];
.
99a
struct telstr tgm;
.
6a
#define D_TELSTR
.
w
!DONE!
echo "Updating EMPFIX/4.2mkfile"
ed - V1.2/EMPFIX/4.2mkfile <<'!DONE!'
29a
_unix.O:
mkdir _unix.O
.
28c
$(INSDIR)/empfix: _unix.O _unix.O/main.o _unix.O/fixlib.a $(EMPGLB) $(EMPSUB)
.
w
!DONE!
echo "Updating EMPFIX/Makefile"
ed - V1.2/EMPFIX/Makefile <<'!DONE!'
16a
_unix.O:
mkdir _unix.O
.
15c
$(INSDIR)/empfix: _unix.O _unix.O/main.o _unix.O/fixlib.a $(EMPGLB) $(EMPSUB)
.
w
!DONE!
echo "Updating EMPFIX/loans.c"
ed - V1.2/EMPFIX/loans.c <<'!DONE!'
27,28c
bytefix("loner", &loan.l_loner, 0);
bytefix("lonee", &loan.l_lonee, 0);
.
w
!DONE!
echo "Updating EMPFIX/main.c"
ed - V1.2/EMPFIX/main.c <<'!DONE!'
49d
19,47c
for( ;; ) {
time(&now);
lseek(natf, 0L, 0);
if( read(natf, &nat, sizeof(nat)) < sizeof(nat) ) {
printf("Too few bytes in nation #0...\n");
}
up_offset = nat.nat_up_off;
printf("Curup is %.0f\n", now / 1800. - up_offset);
cp = getstri("1:nation 2:sector 3:ship 4:treaty 5:loan : ");
switch( *cp ) {
case '\0':
execl("/bin/date", "", 0);
case '1':
nations();
break;
case '2':
sectors();
break;
case '3':
ships();
break;
case '4':
treats();
break;
case '5':
loans();
break;
default:
printf("Huh?\n");
}
.
14,17c
if( privuid != myruid() ) {
printf("%d != %d\n", myruid(), privuid);
exit(1);
}
.
w
!DONE!
echo "Updating EMPGLB/myglb.c"
ed - V1.2/EMPGLB/myglb.c <<'!DONE!'
148c
0, 0, 0, (char *)&(((struct shpstr *)0)->shp_mbl), 0, 0, 1, 0, { 1, 1, 1, 1}, "mobility",
.
w
!DONE!
echo "Updating EMPGLB/sysglb.c"
ed - V1.2/EMPGLB/sysglb.c <<'!DONE!'
148c
0, 0, 0, (char *)&(((struct shpstr *)0)->shp_mbl), 0, 0, 1, 0, { 1, 1, 1, 1}, "mobility",
.
w
!DONE!
echo "Updating EMPIRE/Makefile"
ed - V1.2/EMPIRE/Makefile <<'!DONE!'
9a
_unix.O:
mkdir _unix.O
.
8c
$(INSDIR)/empire: _unix.O _unix.O/empire.o $(EMPGLB) $(EMPSUB)
.
w
!DONE!
echo "Updating EMPIRE/empire.c"
ed - V1.2/EMPIRE/empire.c <<'!DONE!'
40,41c
read(telf, buf, tgm.tel_length);
printf("%s\n", buf);
.
32,33c
read(telf, buf, tgm.tel_length);
printf("%s\n", buf);
.
17a
char buf[514];
.
w
!DONE!
echo "Updating EMPN/Makefile"
ed - V1.2/EMPN/Makefile <<'!DONE!'
48a
_unix.O:
mkdir _unix.O
.
47c
$(INSDIR)/emp7: _unix.O $(EMPDIS) _unix.O/emp7.o $(EMPCOM) $(EMPSUB) $(EMPGLB)
.
44c
$(INSDIR)/emp5: _unix.O $(EMPDIS) _unix.O/emp5.o $(EMPCOM) $(EMPSUB) $(EMPGLB)
.
41c
$(INSDIR)/emp4: _unix.O $(EMPDIS) _unix.O/emp4.o $(EMPCOM) $(EMPSUB) $(EMPGLB)
.
38c
$(INSDIR)/emp3: _unix.O $(EMPDIS) _unix.O/emp3.o $(EMPCOM) $(EMPSUB) $(EMPGLB)
.
35c
$(INSDIR)/emp2: _unix.O $(EMPDIS) _unix.O/emp2.o $(EMPCOM) $(EMPSUB) $(EMPGLB)
.
32c
$(INSDIR)/emp1: _unix.O $(EMPDIS) _unix.O/emp1.o $(EMPCOM) $(EMPSUB) $(EMPGLB)
.
w
!DONE!
echo "Updating EMPSUBS/getsect.c"
ed - V1.2/EMPSUBS/getsect.c <<'!DONE!'
35c
if( cnum != 0 || (selup & (UP_OWN|UP_ALL|UP_TIME|UP_GOD|UP_WFDEL)) ) {
.
w
!DONE!
echo "Updating EMPSUBS/nxtsct.c"
ed - V1.2/EMPSUBS/nxtsct.c <<'!DONE!'
141c
/* horrible kluge for handling mobility as a short */
if( cp == (char *)§.sct_mobil ) {
code = sect.sct_mobil;
} else {
code = ichr[code].i_pkg[pkgs] * *cp;
}
.
w
!DONE!
echo "Updating EMPSUBS/nxtshp.c"
ed - V1.2/EMPSUBS/nxtshp.c <<'!DONE!'
245,246c
cp = (int)ichr[code].i_shp + (char *)sp;
/* horrible kluge for handling mobility as a short */
if( cp == (char *)&sp->shp_mbl ) {
code = sp->shp_mbl;
} else {
code = *cp;
}
.
239c
struct shpstr *sp;
.
w
!DONE!
echo "Updating EMPSUBS/sigsave.c"
ed - V1.2/EMPSUBS/sigsave.c <<'!DONE!'
12c
signal(1, sigaddr[0]);
.
5c
sigaddr[0] = signal(1, 1);
.
w
!DONE!
echo "Updating EMPSUBS/update.c"
ed - V1.2/EMPSUBS/update.c <<'!DONE!'
339a
if( sect.sct_ore + q > 127 ) q = 127 - sect.sct_ore;
.
199c
/*
* If we're delivering workforce (civilians or military), we have to
* get the destination sector with the special UP_WFDEL flag set.
* This tells getsect to call update with the same flag. This will
* cause the destination sector to be updated to within 4 time units
* of curup. This will prevent the re-use of civilians along a civilian
* delivery chain (the "rolling civilians" bug), or re-use of military
* to increase sector efficiencies.
*/
if( i == 0 || i == 1 ) {
if( getsect(dx, dy, UP_WFDEL) == -1 ) goto X3404;
getnat(sectowner);
} else {
if( getsect(dx, dy, UP_NONE) == -1 ) goto X3404;
}
.
177a
if( selup & UP_WFDEL && ( i == 0 || i == 1 ) ) goto X4266;
.
176a
/*
* If this is the destination sector in a workforce (civ or mil)
* delivery, don't deliver workforce. This is the recursion stopper.
*/
.
44c
if( (selup & (UP_TIME | UP_WFDEL)) == 0 ) goto X310;
if( selup & UP_WFDEL ) { /* being updated for wrkforce delivery */
dt -= 4; /* update sector to within 4 time units */
if( dt <= 0 ) return(0);
}
.
w
!DONE!
echo "Updating INFO/MAN.CCL"
ed - V1.2/INFO/MAN.CCL <<'!DONE!'
7,29d
1c
if [ -n "$1" ];then
case $1 in
P0) nroff -rP0 MANFP.NR overview commands syntax time sector-types ship-types research technology plague innards;;
P1) nroff -rP1 MANFP.NR `ls [a-c]* | grep -v "^commands"`;;
P2) nroff -rP2 MANFP.NR `ls [d-i]* | grep -v "^innards"`;;
P3) nroff -rP3 MANFP.NR `ls [j-p]* | egrep -v "^overview|^plague"`;;
P4) nroff -rP4 MANFP.NR `ls [q-s]* | egrep -v "^research|^syntax|^sector-types|^ship-types"`;;
P5) nroff -rP5 MANFP.NR `ls [t-z]* | egrep -v "^technology|^time"`;;
*) nroff -rP0 MANFP.NR $1 $2 $3 $4 $5 $6 $7 $8 $9;;
esac
exit
fi
MAN.CCL P0
.
w
!DONE!
echo "Updating INFO/MANFP.NR"
ed - V1.2/INFO/MANFP.NR <<'!DONE!'
5c
OLD EMPIRE INFORMATION MANUAL
.
w
!DONE!
echo "Updating INFO/collect"
ed - V1.2/INFO/collect <<'!DONE!'
8c
someone's capital may do the trick!
.
w
!DONE!
echo "Updating INFO/designate"
ed - V1.2/INFO/designate <<'!DONE!'
22c
three sectors of your capital to be roads.
.
w
!DONE!
echo "Updating INFO/innards"
ed - V1.2/INFO/innards <<'!DONE!'
182c
update routine; that is the update of bureaucratic time units (B.T.U.).
.
137c
turn up to effic * iwork / 100 units of ore into production units
.
132c
turn up to effic * iwork / 100 units of ore into production units
.
128c
turn up to effic * iwork / 100 units of ore into production units
.
124c
and then turn up to effic * iwork / 100 units of ore into production units
.
55c
does not belong to the current player and iwork is less than 48
.
46c
If lstup == 0 (i.e. never been updated) go away and don't update anything
.
w
!DONE!
echo "Updating INFO/sector-types"
ed - V1.2/INFO/sector-types <<'!DONE!'
55c
-capital- Capitals are the source of bureaucratic
.
w
!DONE!
echo "Updating INFO/ship"
ed - V1.2/INFO/ship <<'!DONE!'
17c
x,y is its location (relative to your capital), f is the fleet
.
w
!DONE!
echo "Updating INFO/ship-types"
ed - V1.2/INFO/ship-types <<'!DONE!'
40c
.sp
.
37c
.sp
.
35c
.sp
.
33c
.sp
.
31c
.sp
.
29c
.sp
.
8a
.tr ~~
.
6c
pt~boat submarine battleship
.
4a
.tr ~
.
w
!DONE!
echo "Updating Makefile"
ed - V1.2/Makefile <<'!DONE!'
74a
.PRECIOUS: $(EMPSUB) $(EMPCOM)
.
21a
BIN:
mkdir BIN
DATA:
mkdir DATA
_unix.O:
mkdir _unix.O
.
17c
all: BIN DATA _unix.O $(EMPGLB) $(EMPDIS) $(EMPSUB) $(EMPCOM) \
.
w
!DONE!
echo "Updating README"
ed - V1.2/README <<'!DONE!'
23a
If you have a 3b2, to avoid core dumps on floating point operations,
set CC="cc -f", then export CC, then make -e all.
.
w
!DONE!
echo "Updating hdrs/empdef.h"
ed - V1.2/hdrs/empdef.h <<'!DONE!'
52a
#define UP_WFDEL 64 /* update a wrkforce delivery destination */
.
w
!DONE!