Eliminate setting of OBJTXT sell for oyster - OBJTXT is now static.

A necessary step towards getting rid of it.
This commit is contained in:
Eric S. Raymond 2017-06-23 15:50:15 -04:00
parent 15b7c00e0a
commit ea70341cfe
3 changed files with 2 additions and 8 deletions

View file

@ -689,7 +689,6 @@ static int listen(void)
continue; continue;
int mi = OBJSND[i] + game.prop[i]; int mi = OBJSND[i] + game.prop[i];
if (i == BIRD) if (i == BIRD)
/* FIXME: Arithmetic on state values */
mi += 3 * game.blooded; mi += 3 * game.blooded;
pspeak(i, mi, game.zzword); pspeak(i, mi, game.zzword);
spk = NO_MESSAGE; spk = NO_MESSAGE;
@ -812,10 +811,10 @@ static int read(struct command_t command)
if (DARK(game.loc)) { if (DARK(game.loc)) {
rspeak(NO_SEE, command.wd1, command.wd1x); rspeak(NO_SEE, command.wd1, command.wd1x);
} else if (command.obj == OYSTER && !game.clshnt && game.closed) {
game.clshnt = YES(arbitrary_messages[CLUE_QUERY], arbitrary_messages[WAYOUT_CLUE], arbitrary_messages[OK_MAN]);
} else if (OBJTXT[command.obj] == 0 || game.prop[command.obj] < 0) { } else if (OBJTXT[command.obj] == 0 || game.prop[command.obj] < 0) {
rspeak(ACTSPK[command.verb]); rspeak(ACTSPK[command.verb]);
} else if (command.obj == OYSTER && !game.clshnt) {
game.clshnt = YES(arbitrary_messages[CLUE_QUERY], arbitrary_messages[WAYOUT_CLUE], arbitrary_messages[OK_MAN]);
} else } else
pspeak(command.obj, OBJTXT[command.obj] + game.prop[command.obj]); pspeak(command.obj, OBJTXT[command.obj] + game.prop[command.obj]);
return GO_CLEAROBJ; return GO_CLEAROBJ;

1
main.c
View file

@ -802,7 +802,6 @@ static bool closecheck(void)
game.prop[BOTTLE] = PUT(BOTTLE, LOC_NE, EMPTY_BOTTLE); game.prop[BOTTLE] = PUT(BOTTLE, LOC_NE, EMPTY_BOTTLE);
game.prop[PLANT] = PUT(PLANT, LOC_NE, 0); game.prop[PLANT] = PUT(PLANT, LOC_NE, 0);
game.prop[OYSTER] = PUT(OYSTER, LOC_NE, 0); game.prop[OYSTER] = PUT(OYSTER, LOC_NE, 0);
OBJTXT[OYSTER] = 3;
game.prop[LAMP] = PUT(LAMP, LOC_NE, 0); game.prop[LAMP] = PUT(LAMP, LOC_NE, 0);
game.prop[ROD] = PUT(ROD, LOC_NE, 0); game.prop[ROD] = PUT(ROD, LOC_NE, 0);
game.prop[DWARF] = PUT(DWARF, LOC_NE, 0); game.prop[DWARF] = PUT(DWARF, LOC_NE, 0);

View file

@ -24,8 +24,6 @@ struct save_t {
long mode; /* not used, must be present for version detection */ long mode; /* not used, must be present for version detection */
long version; long version;
struct game_t game; struct game_t game;
long bird;
long bivalve;
}; };
struct save_t save; struct save_t save;
@ -63,7 +61,6 @@ int suspend(void)
save.mode = -1; save.mode = -1;
save.version = VRSION; save.version = VRSION;
memcpy(&save.game, &game, sizeof(struct game_t)); memcpy(&save.game, &game, sizeof(struct game_t));
save.bivalve = OBJTXT[OYSTER];
IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp)); IGNORE(fwrite(&save, sizeof(struct save_t), 1, fp));
fclose(fp); fclose(fp);
rspeak(RESUME_HELP); rspeak(RESUME_HELP);
@ -113,7 +110,6 @@ int restore(FILE* fp)
rspeak(VERSION_SKEW, save.version / 10, MOD(save.version, 10), VRSION / 10, MOD(VRSION, 10)); rspeak(VERSION_SKEW, save.version / 10, MOD(save.version, 10), VRSION / 10, MOD(VRSION, 10));
} else { } else {
memcpy(&game, &save.game, sizeof(struct game_t)); memcpy(&game, &save.game, sizeof(struct game_t));
OBJTXT[OYSTER] = save.bivalve;
game.zzword = RNDVOC(3, game.zzword); game.zzword = RNDVOC(3, game.zzword);
} }
return GO_TOP; return GO_TOP;