Prev: DEE4 Up: Map Next: DFCA
DF5B: Print Object Description Text
Prints the description text for an object specified by the room display parameter. If the object has custom description text, that is printed; otherwise a default description is used. Additional object information is then printed followed by a period.
PrintObjectDescriptionText DF5B LD A,($A034) Read the room display parameter and call FetchObjectDataPointer to look up the object.
DF5E CALL FetchObjectDataPointer
DF61 SET 6,(IX+$06) Set bit 6 of the object's byte at offset 06.
DF65 LD L,(IX+$0D) Load the object's description text pointer from offsets 0D/0E.
DF68 LD H,(IX+$0E)
DF6B LD A,H Jump to PrintTextAndHandleControlCharacters if the description pointer is not zero.
DF6C OR L
DF6D JP NZ,PrintTextAndHandleControlCharacters
DF70 LD HL,$68E1 Take the default object message, then call PrintTextAndHandleControlCharacters to print the default object message.
DF73 CALL PrintTextAndHandleControlCharacters
DF76 CALL TakeTheFoundObject Call TakeTheFoundObject, take a full stop and print it through Print_Character.
DF79 LD A,$2E
DF7B JP Print_Character
DF7E DEFB $88,$00 Display record read by ProcessDisplayRecord: flags 88 value 00.
DF80 DEFB $07,$C1,$DC,$FD,$FF Refresh the room from the text at DCC1, using the low byte of the location, FF.
DF85 DEFB $07,$8B,$DF,$FD,$FF Refresh the room from the text at DF8B, using the low byte of the location, FF.
DF8A DEFB $0B Run the nested character script.
DF8B DEFB $08,$00 Display record read by ProcessDisplayRecord: flags 08 value 00.
Run by CA64 after the display record at DF8B.
DF8D LD A,($9CA1) Jump to SpecialCaseObject_LooksBasilPhipps_1 if Basil Phipps's state is clear.
DF90 AND A
DF91 JR Z,SpecialCaseObject_LooksBasilPhipps_1
DF93 LD A,$FF Mark Basil Phipps's state as finished.
DF95 LD ($9CA1),A
DF98 LD IX,($A013) Read the current object.
DF9C LD HL,$07D5 Store the low byte of the text pointer.
DF9F LD (IX+$09),L
DFA2 LD (IX+$0A),H Store the high byte of the text pointer.
DFA5 JR SpecialCaseObject_LooksBasilPhipps_1 Jump ahead to SpecialCaseObject_LooksBasilPhipps_1 to return non-zero.
DFA7 DEFB $C8,$00,$1C,$E0 Display record read by ProcessDisplayRecord: flags C8 value 00 handler E01C.
DFAB DEFB $07,$B6,$DF,$FD,$FF Refresh the room from the text at DFB6, using the low byte of the location, FF.
DFB0 DEFB $07,$9D,$DE,$FD,$FF Refresh the room from the text at DE9D, using the low byte of the location, FF.
DFB5 DEFB $0B Run the nested character script.
DFB6 DEFB $07,$F0 Display record read by ProcessDisplayRecord: flags 07 value F0.
Run by CA64 after the display record at DFB6.
DFB8 LD A,($A034) Jump to SpecialCaseObject_LooksBasilPhipps_1 if the room display parameter is not 59.
DFBB CP $59
DFBD JP NZ,SpecialCaseObject_LooksBasilPhipps_1
DFC0 LD A,($9FE1) Jump to SpecialCaseObject_LooksBasilPhipps_1 if the day of the week is not zero.
DFC3 CP $00
DFC5 JP NZ,SpecialCaseObject_LooksBasilPhipps_1
DFC8 JR SpecialCaseObject_LooksBasilPhipps Jump to SpecialCaseObject_LooksBasilPhipps, the special case object 6.
Prev: DEE4 Up: Map Next: DFCA