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