if (command.obj == INTRANSITIVE) {
command.obj = 0;
for (int i = 1; i <= NOBJECTS; i++) {
- if (HERE(i) && OBJTXT[i] != 0 && game.prop[i] >= 0)
+ if (HERE(i) && object_descriptions[i].texts[0] != NULL && game.prop[i] >= 0)
command.obj = command.obj * NOBJECTS + i;
}
if (command.obj > NOBJECTS || command.obj == 0 || DARK(game.loc))
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 (object_descriptions[command.obj].texts[0] == NULL || game.prop[command.obj] < 0) {
rspeak(ACTSPK[command.verb]);
} else
pspeak(command.obj, study, game.prop[command.obj]);
long TRVS;
long TRNVLS;
long TABNDX;
-long OBJTXT[NOBJECTS + 1];
long KEY[LOCSIZ + 1];
long LINES[LINSIZ + 1];
long TRAVEL[TRVSIZ + 1];
}
}
-/* Read the sound/text info, store in OBJSND, OBJTXT */
+/* Read the sound/text info */
static void read_sound_text(FILE* database)
{
long K;
while ((K = GETNUM(database)) != -1) {
long KK = GETNUM(NULL);
long I = GETNUM(NULL);
- if (I != 0) {
- OBJTXT[K] = (I > 0 ? I : 0);
- continue;
- }
+ /* this stuff is in YAML now */
}
}
* pointer-words in lines. PTEXT(N) points to
* message for game.prop(N)=0. Successive prop messages are
* found by chasing pointers. */
- for (int I = 1; I <= NOBJECTS; I++) {
- OBJTXT[I] = 0;
- }
for (int I = 1; I <= LOCSIZ; I++) {
KEY[I] = 0;
}
fprintf(header_file, "\n");
// content variables
- write_1d(header_file, OBJTXT, NOBJECTS + 1, "OBJTXT");
write_1d(header_file, KEY, LOCSIZ + 1, "KEY");
write_1d(header_file, TRAVEL, TRVSIZ + 1, "TRAVEL");
write_1d(header_file, KTAB, TABSIZ + 1, "KTAB");