X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;f=src%2Ffiles.c;h=b027dd40f97916e74b90e2a8d28bf2279fa72189;hb=d8d68d0bd4c45af6f0dc69b4fc33d37d961aca85;hp=70cfc90705de86c9289e4f8e72e2c6e91593aee0;hpb=c881aa3386c00d7021ffabf2f66275d6c110c1c1;p=inform.git diff --git a/src/files.c b/src/files.c index 70cfc90..b027dd4 100644 --- a/src/files.c +++ b/src/files.c @@ -1303,8 +1303,38 @@ extern void output_file(void) FILE *transcript_file_handle; int transcript_open; -extern void write_to_transcript_file(char *text) -{ fputs(text, transcript_file_handle); +extern void write_to_transcript_file(char *text, int linetype) +{ + if (TRANSCRIPT_FORMAT == 1) { + char ch = '?'; + switch (linetype) { + case STRCTX_INFO: + ch = 'I'; break; + case STRCTX_GAME: + ch = 'G'; break; + case STRCTX_GAMEOPC: + ch = 'H'; break; + case STRCTX_VENEER: + ch = 'V'; break; + case STRCTX_VENEEROPC: + ch = 'W'; break; + case STRCTX_LOWSTRING: + ch = 'L'; break; + case STRCTX_ABBREV: + ch = 'A'; break; + case STRCTX_DICT: + ch = 'D'; break; + case STRCTX_OBJNAME: + ch = 'O'; break; + case STRCTX_SYMBOL: + ch = 'S'; break; + case STRCTX_INFIX: + ch = 'X'; break; + } + fputc(ch, transcript_file_handle); + fputs(": ", transcript_file_handle); + } + fputs(text, transcript_file_handle); fputc('\n', transcript_file_handle); } @@ -1318,9 +1348,16 @@ extern void open_transcript_file(char *what_of) transcript_open = TRUE; - sprintf(topline_buffer, "Transcript of the text of \"%s\"\n\ -[From %s]\n", what_of, banner_line); - write_to_transcript_file(topline_buffer); + sprintf(topline_buffer, "Transcript of the text of \"%s\"", what_of); + write_to_transcript_file(topline_buffer, STRCTX_INFO); + sprintf(topline_buffer, "[From %s]", banner_line); + write_to_transcript_file(topline_buffer, STRCTX_INFO); + if (TRANSCRIPT_FORMAT == 1) { + write_to_transcript_file("[I:info, G:game text, V:veneer text, L:lowmem string, A:abbreviation, D:dict word, O:object name, S:symbol, X:infix]", STRCTX_INFO); + if (!glulx_mode) + write_to_transcript_file("[H:game text inline in opcode, W:veneer text inline in opcode]", STRCTX_INFO); + } + write_to_transcript_file("", STRCTX_INFO); } extern void abort_transcript_file(void) @@ -1334,9 +1371,11 @@ extern void close_transcript_file(void) char sn_buffer[7]; write_serial_number(sn_buffer); - sprintf(botline_buffer, "\n[End of transcript: release %d.%s]\n", + sprintf(botline_buffer, "[End of transcript: release %d, serial %s]", release_number, sn_buffer); - write_to_transcript_file(botline_buffer); + write_to_transcript_file("", STRCTX_INFO); + write_to_transcript_file(botline_buffer, STRCTX_INFO); + write_to_transcript_file("", STRCTX_INFO); if (ferror(transcript_file_handle)) fatalerror("I/O failure: couldn't write to transcript file");