Prev: 57060 Up: Map Next: 57290
57179: 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 57179 LD A,(41012) Read the room display parameter and call FetchObjectDataPointer to look up the object.
57182 CALL FetchObjectDataPointer
57185 SET 6,(IX+6) Set bit 6 of the object's byte at offset 6.
57189 LD L,(IX+13) Load the object's description text pointer from offsets 13/14.
57192 LD H,(IX+14)
57195 LD A,H Jump to PrintTextAndHandleControlCharacters if the description pointer is not zero.
57196 OR L
57197 JP NZ,PrintTextAndHandleControlCharacters
57200 LD HL,26849 Take the default object message, then call PrintTextAndHandleControlCharacters to print the default object message.
57203 CALL PrintTextAndHandleControlCharacters
57206 CALL TakeTheFoundObject Call TakeTheFoundObject, take a full stop and print it through Print_Character.
57209 LD A,46
57211 JP Print_Character
57214 DEFB 136,0 Display record read by ProcessDisplayRecord: flags 136 value 0.
57216 DEFB 7,193,220,253,255 Refresh the room from the text at 56513, using the low byte of the location, 255.
57221 DEFB 7,139,223,253,255 Refresh the room from the text at 57227, using the low byte of the location, 255.
57226 DEFB 11 Run the nested character script.
57227 DEFB 8,0 Display record read by ProcessDisplayRecord: flags 8 value 0.
Run by 51812 after the display record at 57227.
57229 LD A,(40097) Jump to SpecialCaseObject_LooksBasilPhipps_1 if Basil Phipps's state is clear.
57232 AND A
57233 JR Z,SpecialCaseObject_LooksBasilPhipps_1
57235 LD A,255 Mark Basil Phipps's state as finished.
57237 LD (40097),A
57240 LD IX,(40979) Read the current object.
57244 LD HL,2005 Store the low byte of the text pointer.
57247 LD (IX+9),L
57250 LD (IX+10),H Store the high byte of the text pointer.
57253 JR SpecialCaseObject_LooksBasilPhipps_1 Jump ahead to SpecialCaseObject_LooksBasilPhipps_1 to return non-zero.
57255 DEFB 200,0,28,224 Display record read by ProcessDisplayRecord: flags 200 value 0 handler 57372.
57259 DEFB 7,182,223,253,255 Refresh the room from the text at 57270, using the low byte of the location, 255.
57264 DEFB 7,157,222,253,255 Refresh the room from the text at 56989, using the low byte of the location, 255.
57269 DEFB 11 Run the nested character script.
57270 DEFB 7,240 Display record read by ProcessDisplayRecord: flags 7 value 240.
Run by 51812 after the display record at 57270.
57272 LD A,(41012) Jump to SpecialCaseObject_LooksBasilPhipps_1 if the room display parameter is not 89.
57275 CP 89
57277 JP NZ,SpecialCaseObject_LooksBasilPhipps_1
57280 LD A,(40929) Jump to SpecialCaseObject_LooksBasilPhipps_1 if the day of the week is not zero.
57283 CP 0
57285 JP NZ,SpecialCaseObject_LooksBasilPhipps_1
57288 JR SpecialCaseObject_LooksBasilPhipps Jump to SpecialCaseObject_LooksBasilPhipps, the special case object 6.
Prev: 57060 Up: Map Next: 57290