Prev: CDA1 Up: Map Next: CE18
CDBF: Record The Result In The Room Display
Used by the routine at DispatchCharacterScript.
Writes 2E to the saved character and resolves the room display parameters.
CDBF LD A,$2E Write 2E to the saved character.
CDC1 LD ($A033),A
CDC4 LD A,(IX+$01) Read the moved marker, then call ProcessRoomDisplayParameter to resolve the room display parameter.
CDC7 CALL ProcessRoomDisplayParameter
CDCA LD ($A034),A Record the room display parameter.
CDCD LD A,(IX+$02)
CDD0 LD ($A35D),A Store it in the saved object field at A35D.
CDD3 LD A,(IX+$03) Read the action flags, then call ProcessRoomDisplayParameter to resolve the room display parameter.
CDD6 CALL ProcessRoomDisplayParameter
CDD9 LD ($A35E),A Store it in the saved object field at A35E.
CDDC LD A,(IX+$04) Read the attribute type, then call ProcessRoomDisplayParameter to resolve the room display parameter.
CDDF CALL ProcessRoomDisplayParameter
CDE2 LD ($A35F),A Store it in the saved object field at A35F.
CDE5 LD A,$08 Take 08 then call AllocateMemory to allocate memory.
CDE7 CALL AllocateMemory
CDEA LD A,($A034) Store the record's flag byte.
CDED LD (IX+$00),A
CDF0 LD (IX+$01),$FF Mark the object as moved.
CDF4 LD A,($A35D) Store the location.
CDF7 LD (IX+$02),A
CDFA LD HL,($A35E) Read the saved object fields at A35E.
CDFD LD (IX+$03),L Store it in the action flags and store it in the attribute type.
CE00 LD (IX+$04),H
CE03 LD HL,($9FEE) Read the link pointer.
CE06 LD ($9FEE),IX Store the low byte of the pointer in the previous display entry.
CE0A LD (IX-$02),L
CE0D LD (IX-$01),H Store the high byte of the pointer in the previous display entry.
CE10 LD HL,$682A Take the prompt message, then call PrintTextAndHandleControlCharacters to print the prompt message.
CE13 CALL PrintTextAndHandleControlCharacters
CE16 JR ContinueScriptExecution Jump ahead to ContinueScriptExecution to resume script execution.
Prev: CDA1 Up: Map Next: CE18