Prev: 962B Up: Map Next: 965B
9630: Describe a location in full: "you are in ...", the picture, and what is there
Used by the routines at DO_LOOK, MOVE and JUMP_ONTO_BARREL.
What MOVE does on the first visit to a place. The opening phrase is a message with a word left to fill in: bits 1-3 of byte 0 of the room's record pick it from ROOM_PREPOSITIONS, and it is written into the message at MSG_IN before DESCRIBE_LOCATION prints it -- "you are in", "you are on", "you are outside" and so on.
Input
A The location
DESCRIBE_ROOM 9630 PUSH AF
9631 CALL GET_ROOM Its record
9634 LD A,(IX+$00) The word for how the player is placed there
9637 AND $0E
9639 LD E,A
963A LD D,$00
963C LD HL,ROOM_PREPOSITIONS
963F ADD HL,DE
9640 LD E,(HL)
9641 INC HL
9642 LD D,(HL)
9643 LD HL,MSG_IN_SLOT Into the message, high byte first, the way messages keep a word
9646 LD (HL),D
9647 INC HL
9648 LD (HL),E
9649 POP AF HL = "you are ..."
964A LD HL,MSG_IN
This entry point is used by the routines at DESCRIBE_SEEN and DO_CAPTURE.
DESCRIBE_WITH_OPENING 964D PUSH IX Describe it, keeping IX, IY and BC
964F PUSH IY
9651 PUSH BC
9652 CALL DESCRIBE_LOCATION
9655 POP BC
9656 POP IY
9658 POP IX
965A RET
Prev: 962B Up: Map Next: 965B