Prev: 44413 Up: Map Next: 47104
46810: Flags: Game State
Variables read and written by the turn loop, the Inglish matcher and the message printer. A saved game starts at 46827. The word at the start is read by TurnReadAndTokeniseTheCommand, Input_TakeTheNextWord, Inglish_KeepTheUnknownWord and Inglish_ReadTheNextGrammarByte.
46810 DEFW 0 Start of the unknown word. 28077 reads it while quoting the unknown word.
46812 DEFW 0 Pointer into the token buffer. 28045 stores 28828 here, and the matcher saves and restores it.
46814 DEFB 0 High byte of the class being matched being matched. Compared with 192 and 160.
46815 DEFB 0 Low byte kept with the class being matched at 46814.
46816 DEFB 0,0,0,0,0,0 Six bytes copied out of the match by 31878.
46822 DEFB 0 Scratch byte beside the match.
CurrentAction 46823 DEFB 0 Current action id. The verb routines store the verb here before it runs.
CurrentObject 46824 DEFB 0 Current object id. The noun the command names.
46825 DEFB 0 Second object id, used by give, attack and message code 9.
CurrentCharacter 46826 DEFB 0 Character whose turn it is. 0 is the player. Stored in the saved game.
46827 DEFB 0,0,0 First three bytes of the saved game. 27668 copies them to 24320 and 27730 copies them back.
46830 DEFW 0 Word address held for the printer.
46832 DEFB 0 Cleared at the start of TurnAdvanceTheOtherCharacters, before the other characters run.
46833 DEFB 0 Scratch byte beside 46832.
46834 DEFB 0 Printer on. ZXPrinter returns at once when this is zero. PRINT at Command_PRINT sets it and NOPRINT at Command_PRINT_NOPRINT clears it.
46835 DEFB 0 A location id, copied from ActionLocationID by EventForest. 43813 compares it with the current location.
46836 DEFB 0 Slot flag. Turn_GateTheMessage_StoreTheSlotFlag stores 1 when the character slot was found.
46837 DEFB 0 Where the player starts. Action_None writes it.
46838 DEFB 0 Location the script at 42690 compares with the player's location.
PercentageComplete 46839 DEFW 0 Percentage complete. GameOver prints it when the game is over.
46841 DEFB 0 Talk flag. Action_TalkTo treats zero as a character who still has something to say.
46842 DEFB 0 Message gate. PrintMessage skips its setup when this is not zero. Set to 1 when a game starts.
46843 DEFB 0 Message suppressed. Non-zero when ConditionSuppressTheMessage holds a message back and returns past its caller. PrintMessage writes 0 here when a message is printed. 32016 keeps running the action while this is zero.
46844 DEFW 0 Weapon-name token. Action_Attack_StoreTheWeapon stores FIST or the named object's name, and message code 3 at Message_PrintTheSavedToken returns it.
46846 DEFB 0 Tested by 31953 and by message code 9.
46847 DEFB 0 Tested by message code 9 at Message_PrintTheSecondNoun_0.
46848 DEFB 0 When this is not zero, Print_Character watches for S and types an F as well. Cleared when a game starts.
WaitCountdown 46849 DEFB 0 1=action countdown, 0=countdown finished.
NightDay 46850 DEFB 0 0=night, 1=day.
46851 DEFB 0 Which noun the printer is naming. The message codes write 0 or 1.
46852 DEFB 0 Capitalise the next letter. A carriage return at 34508 sets it, a full stop at 34628 bumps it, and 34622 clears it once a letter has been printed in upper case. 29385 clears it after a printed carriage return.
46853 DEFB 0 Set by TurnReadAndTokeniseTheCommand_SetTheLineReadFlag before a line is read, and cleared by InglishClearTheRepeatFlag.
46854 DEFB 255 255 selects the replay path in TurnReadAndTokeniseTheCommand. The matcher also stores a class byte here.
46855 DEFB 0 Picture switch. 27772 stores bit 3 of port 127, read while N is held. Drawing draws nothing when this is zero.
46856 DEFB 0,0 Pointer to the current object's record (CurrentObject).
46858 DEFW 0 Pointer to the second object's record (46825).
Pointer_CurrentCharacter 46860 DEFW Objects Pointer to the character whose turn it is. A new game leaves it at Objects, the player.
RandomSeed 46862 DEFB 0 Random seed, taken from the refresh register at 27815.
46863 DEFB 0 Byte beside the random seed.
46864 DEFB 0 Kind filter read by ConditionSamePlaceAsThePlayer: 0 not a live animal, 1 a live animal, 2 anything. 32046 stores the low two bits of the clause and 32268 stores 2.
46865 DEFB 0 Byte beside 46864.
RandomCounter 46866 DEFW 0 Random counter.
46868 DEFW 0 Delay. ReadTheInputLine starts it at 3000 and Input_WaitForAKey_Store stores the next wait here.
46870 DEFB 0 How many words will be accepted. TurnReadAndTokeniseTheCommand writes 17 and 27928 writes 9.
46871 DEFW 0 Scratch word beside the limit on how many words are accepted.
46873 DEFB 0 Matcher phase. 33476 sets 2, and InglishAcceptTheClause compares it with 2.
46874 DEFB 0 Cleared when a game starts. InglishPrepareTheClause takes another path when it is not zero.
46875 DEFB 0 Conjunction count. 27970 raises it, and MessageOpenTheGateForAConjunction opens the message gate when it is set.
46876 DEFB 0 Scratch byte. 31750 clears it before a phrase is resolved.
46877 DEFB 0 Scratch byte read at Inglish_ScoreTheSwappedClause_ReadTheScoreByte while a phrase is resolved.
46878 DEFB 0 Packed action scores. ClausePackTheActionScores writes this byte, and the matcher reads it.
46879 DEFB 115,0,0,0,101,115,0,0 Verb endings read by 29977 in PrintToken. Four bytes each: "s", "es", "ies", a backspace and "ies", "d" and "ing". Copying one onto a stem turns "take" into "Thorin takes".
46887 DEFB 105,101,115,0,8,105,101,115
46895 DEFB 100,0,0,0,105,110,103,0
46903 DEFB 0 How many character slots Inglish_FillTheClaimedSlots walks.
46904 DEFB 0,0,0,0,0,0,0,0 Buffer cleared for 200 bytes at the start of a game by 27807.
46912 DEFB 0,0,0,0,0,0,0,0
46920 DEFB 0,0,0,0,0,0,0,0
46928 DEFB 0,0,0,0,0,0,0,0
46936 DEFB 0,0,0,0,0,0,0,0
46944 DEFB 0,0,0,0,0,0,0,0
46952 DEFB 0,0,0,0,0,0,0,0
46960 DEFB 0,0,0,0,0,0,0,0
46968 DEFB 0,0,0,0,0,0,0,0
46976 DEFB 0,0,0,0,0,0,0,0
46984 DEFB 0,0,0,0,0,0,0,0
46992 DEFB 0,0,0,0,0,0,0,0
47000 DEFB 0,0,0,0,0,0,0,0
47008 DEFB 0,0,0,0,0,0,0,0
47016 DEFB 0,0,0,0,0,0,0,0
47024 DEFB 0,0,0,0,0,0,0,0
47032 DEFB 0,0,0,0,0,0,0,0
47040 DEFB 0,0,0,0,0,0,0,0
47048 DEFB 0,0,0,0,0,0,0,0
47056 DEFB 0,0,0,0,0,0,0,0
47064 DEFB 0,0,0,0,0,0,0,0
47072 DEFB 0,0,0,0,0,0,0,0
47080 DEFB 0,0,0,0,0,0,0,0
47088 DEFB 0,0,0,0,0,0,0,0
47096 DEFB 0,0,0,0,0,0,0,0
Prev: 44413 Up: Map Next: 47104