[net.games.emp] 2 important bug patches for empire

jonab@sdcrdcf.UUCP (Jonathan Biggar) (03/11/85)

Here are patches for two very bad bugs in empire that cause the game
to be virtually unplayable:

1)  When contracted items are sold to the deity from a sector that
packages items (e.g. warehouses), the player receives more money than
he ought to by a factor depending on the packaging.

Example:
if you sell 100 units of food from a warehouse at $3.00 per unit,
you get $3000.00 instead of $300.00.

Fix:
(This applies only to Empire export version 6/84 on a vax running 4.2bsd.
Other distributions may be able to determine their own patch from this.)

In the routine "contract" in module update.o in library empsub.a, make the
following patch with adb:

contract+41:	movl	8(ap),r1
contract+45:	cvtbl	(r0)[r1],r7	BECOMES		cvtbl	$1,r7
							nop
contract+49:	cvtld	r11,r0


2)  When delivering from a sector that packages, not enough items are
removed from the source sector.

Example:
if you deliver 100 shells from a warehouse to another sector,
the destination sector will receive 100 shells, but the warehouse
will still have 90 left.

Fix:
(This applies only to Empire export version 6/84 on a vax running 4.2bsd.
Other distributions may be able to determine their own patch from this.)

In the routine "deliver" in module update.o in library empsub.a, make the
following patch with adb:

0fca:	cvtwl	-8(fp),r0
0fce:	divl3	r1,r0,r11		BECOMES		divl3	$1,r0,r11
0fd4:	cvtwl	-6(fp),-(sp)


Again, these bug patches may not be exact for other empire distributions,
but they should help you figure out how to patch them in your own copy.

Jon Biggar
{allegra,burdvax,cbosgd,hplabs,ihnp4,sdccsu3}!sdcrdcf!jonab