![]() |
Routines |
| Prev: 52867 | Up: Map | Next: 52920 |
|
Used by the routines at DispatchCharacterScript, PrintCommandMessage, ShowRoomDescription, 52671, 52760, ReadCharactersRoom and RunSimpleAction.
Resumes the character script after a command returns, and follows the script pointer when the record flag says to.
|
||||
| ContinueScriptExecution | 52879 | CALL GetCurrentScriptState | Call GetCurrentScriptState to get current script state, then call AdvanceByCommandType to advance script pointer by command size. | |
| 52882 | CALL AdvanceByCommandType | |||
| 52885 | BIT 7,(IX+0) | Jump to ContinueScriptExecution_Next if a marker on the record's flag byte is clear. | ||
| 52889 | JR Z,ContinueScriptExecution_Next | |||
| 52891 | LD E,(HL) | Read the word at HL and join the flag test at ContinueScriptExecution_TestClearScriptCommand. | ||
| 52892 | INC HL | |||
| 52893 | LD D,(HL) | |||
| 52894 | EX DE,HL | |||
| 52895 | JR ContinueScriptExecution_TestClearScriptCommand | |||
|
See whether bit 4 of the record flag is set, then see whether bit 5 of the record flag is set, then store that byte in the script position.
|
||||
| ContinueScriptExecution_Next | 52897 | BIT 4,(IX+0) | If bit 4 of the command byte is set, call StepNextByte to skip its two-byte address. | |
| 52901 | CALL NZ,StepNextByte | |||
| ContinueScriptExecution_TestClearScriptCommand | 52904 | BIT 5,(IX+0) | Call ClearScriptCommandFlags to clear script command flags if a marker on the record's flag byte is set. | |
| 52908 | CALL NZ,ClearScriptCommandFlags | |||
| 52911 | LD (IY+1),L | Store HL at IY+1 and jump back to 52625 to finish the character script. | ||
| 52914 | LD (IY+2),H | |||
| 52917 | JP 52625 | |||
| Prev: 52867 | Up: Map | Next: 52920 |