! PrintCommand reconstructs the command as it presently reads, from ! the pattern which has been built up ! ! If from is 0, it starts with the verb: then it goes through the pattern. ! The other parameter is "emptyf" - a flag: if 0, it goes up to pcount: ! if 1, it goes up to pcount-1. ! ! Note that verbs and prepositions are printed out of the dictionary: ! and that since the dictionary may only preserve the first six characters ! of a word (in a V3 game), we have to hand-code the longer words needed. ! ! (Recall that pattern entries are 0 for "multiple object", 1 for "special ! word", 2 to REPARSE_CODE-1 are object numbers and REPARSE_CODE+n means the ! preposition n) ! ---------------------------------------------------------------------------- [ PrintCommand from i k spacing_flag; if (from==0) { i=verb_word; if (LanguageVerb(i) == 0) if (PrintVerb(i) == 0) print (address) i; from++; spacing_flag = true; } for (k=from:kk; if (i == PATTERN_NULL) continue; if (spacing_flag) print (char) ' '; if (i==0) { print (string) THOSET__TX; jump TokenPrinted; } if (i==1) { print (string) THAT__TX; jump TokenPrinted; } if (i>=REPARSE_CODE) print (address) No__Dword(i-REPARSE_CODE); else print (the) i; .TokenPrinted; spacing_flag = true; } ];