Prev: 52867 Up: Map Next: 52920
52879: Continue Script Execution
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