summaryrefslogtreecommitdiff
path: root/games/hack/hack.fix
diff options
context:
space:
mode:
Diffstat (limited to 'games/hack/hack.fix')
-rw-r--r--games/hack/hack.fix113
1 files changed, 0 insertions, 113 deletions
diff --git a/games/hack/hack.fix b/games/hack/hack.fix
deleted file mode 100644
index 01e6460247d7..000000000000
--- a/games/hack/hack.fix
+++ /dev/null
@@ -1,113 +0,0 @@
-/***** unido:net.games.hack / ab / 7:23 pm Sep 13, 1985*/
-
-Recently hack (1.0.3) crashed with core dumps during some good games.
-The crashes occured in the onbill-routine. After investigating the core
-dump I found that the shopkeeper's bill was still to be paid. Normaly
-if you leave a shop the bill will be cleared and onbill() would not
-check it. But under certain conditions you can leave a shop without
-clearing the bill. The conditions are:
-
- 1. You have to rob a shop in order to make the shopkeeper
- follow you.
-
- 2. After leaving the shop being followed by the shopkeeper
- you must return to the shop...
-
- 3. ...and then leave the unguarded shop again.
- - The shopkeeper mustn't be present!
-
-If you climb the stairs to the previous level, chances are that your
-bill now contains much more items than allowed. If so the next call to
-onbill() will dump the core.
-
-Following is a context diff to fix the bug. Actually just the last hunk
-does the fix [it deletes two lines which have been inserted in 1.0.3],
-but I think the other fix was intended by the now deleted lines.
-
- Andreas
-
---
-Andreas Bormann ab@unido.UUCP
-University of Dortmund N 51 29' 05" E 07 24' 42"
-West Germany
-
------- the diff follows:
-
-*** hack.shk.c.orig Sun Aug 4 12:07:51 1985
---- hack.shk.c Fri Sep 13 14:29:52 1985
-***************
-*** 133,139
- /* Did we just leave a shop? */
- if(u.uinshop &&
- (u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) {
-- u.uinshop = 0;
- if(shopkeeper) {
- if(ESHK(shopkeeper)->billct) {
- pline("Somehow you escaped the shop without paying!");
-
---- 133,138 -----
- /* Did we just leave a shop? */
- if(u.uinshop &&
- (u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) {
- if(shopkeeper) {
- if(ESHK(shopkeeper)->billct) {
- if(inroom(shopkeeper->mx, shopkeeper->my)
-***************
-*** 136,142
- u.uinshop = 0;
- if(shopkeeper) {
- if(ESHK(shopkeeper)->billct) {
-! pline("Somehow you escaped the shop without paying!");
- addupbill();
- pline("You stole for a total worth of %ld zorkmids.",
- total);
-
---- 135,143 -----
- (u.uinshop != roomno + 1 || shlevel != dlevel || !shopkeeper)) {
- if(shopkeeper) {
- if(ESHK(shopkeeper)->billct) {
-! if(inroom(shopkeeper->mx, shopkeeper->my)
-! == u.uinshop - 1) /* ab@unido */
-! pline("Somehow you escaped the shop without paying!");
- addupbill();
- pline("You stole for a total worth of %ld zorkmids.",
- total);
-***************
-*** 149,154
- shopkeeper = 0;
- shlevel = 0;
- }
- }
-
- /* Did we just enter a zoo of some kind? */
-
---- 150,156 -----
- shopkeeper = 0;
- shlevel = 0;
- }
-+ u.uinshop = 0;
- }
-
- /* Did we just enter a zoo of some kind? */
-***************
-*** 183,190
- findshk(roomno);
- if(!shopkeeper) {
- rooms[roomno].rtype = 0;
-- u.uinshop = 0;
-- } else if(inroom(shopkeeper->mx, shopkeeper->my) != roomno) {
- u.uinshop = 0;
- } else if(!u.uinshop){
- if(!ESHK(shopkeeper)->visitct ||
-
---- 185,190 -----
- findshk(roomno);
- if(!shopkeeper) {
- rooms[roomno].rtype = 0;
- u.uinshop = 0;
- } else if(!u.uinshop){
- if(!ESHK(shopkeeper)->visitct ||
-/* ---------- */
-
-
-