dudek@utcsrgv.UUCP (Gregory Dudek) (03/09/84)
- (Anti bug) ------ There is a serious bug in our 4.1BSD version of empire or April 17,1982. If you move into a checkpointed sector owned by somebody else, and don't know the code, the game tells you that you have been arrested, then says "'e' invalid direction (etc.)" and then lets you happily move around through the other country's checkpointed sectors. In fact, once this has happened, it doesn't charge you any more mobility! The cause of this seems to be the fact that the "stop" direction of the move command was changed from "e" in the old versions of the game, to the current (by our standards) "h". In order to fix this, a patch to move.o is required (adb -w move.o). Extract it from empcom.a ("ar x empcom.a move.o) and patch the location 79c so that the instruction instruction becomes "movb $68,(r11)". The old code is: cmpw -4(fp),$-2 bnequ acf movb $65,(r11) <-- patch the 65 ("e") to a 68 ("h") pushal 130c (this is the "you have been arrested" msg address) brw 555 Put this back again via "ar r empcom.a move.o" and do a make of BIN/emp1. Sorry if I've given anything away, but if you use checkpointing, chances are somebody has blundered onto this already. Gregory Dudek aka Nexus {cornell,decvax,ihnp4,linus,utzoo,uw-beaver}!utcsrgv!dudek -- Gregory Dudek {cornell,decvax,ihnp4,linus,utzoo,uw-beaver}!utcsrgv!dudek