| Handler_DisplayRoom |
49401 |
PUSH DE |
|
49402 |
CALL ClearScreen |
|
49405 |
POP DE |
|
49406 |
LD A,(47870) |
|
49409 |
OR A |
|
49410 |
JR Z,Handler_DisplayRoom_PrintDescription |
|
49412 |
LD A,(47771) |
|
49415 |
LD HL,(47844) |
|
49418 |
LD BC,(47870) |
|
49422 |
CPIR |
|
49424 |
JR NZ,Handler_DisplayRoom_PrintDescription |
|
49426 |
LD A,(47870) |
|
49429 |
INC C |
|
49430 |
SUB C |
|
49431 |
LD C,A |
|
49432 |
XOR A |
|
49433 |
OR E |
|
49434 |
JR NZ,Handler_DisplayRoom_FirstVisit |
|
49436 |
LD HL,47664 |
|
49439 |
LD A,C |
| Handler_DisplayRoom_Loop |
49440 |
CP 8 |
|
49442 |
JR C,Handler_DisplayRoom_Next |
|
49444 |
SUB 8 |
|
49446 |
INC HL |
|
49447 |
JR Handler_DisplayRoom_Loop |
| Handler_DisplayRoom_Next |
49449 |
LD B,A |
|
49450 |
INC B |
|
49451 |
LD D,0 |
| Handler_DisplayRoom_FlagBit |
49453 |
RL D |
|
49455 |
DJNZ Handler_DisplayRoom_FlagBit |
|
49457 |
LD A,(HL) |
|
49458 |
AND D |
|
49459 |
JR NZ,Handler_DisplayRoom_PrintDescription |
|
49461 |
LD A,(HL) |
|
49462 |
OR D |
|
49463 |
LD (HL),A |
| Handler_DisplayRoom_FirstVisit |
49464 |
LD A,8 |
|
49466 |
LD (47936),A |
|
49469 |
LD HL,47660 |
|
49472 |
SET 0,(HL) |
|
49474 |
LD IX,(47846) |
|
49478 |
LD E,C |
|
49479 |
CALL GetTableEntry |
|
49482 |
LD DE,49487 |
|
49485 |
PUSH DE |
|
49486 |
JP (HL) |
| Handler_DisplayRoom_PrintDescription |
49487 |
CALL SetScreenPosition |
|
49490 |
LD A,24 |
|
49492 |
LD (47936),A |
|
49495 |
LD A,(47771) |
|
49498 |
LD IX,(47848) |
|
49502 |
LD E,A |
|
49503 |
CALL GetTableEntry |
|
49506 |
CALL PrintStringAndANewline |
|
49509 |
LD HL,47660 |
|
49512 |
BIT 0,(HL) |
|
49514 |
JR Z,Handler_DisplayRoom_ListExits |
|
49516 |
RES 0,(HL) |
|
49518 |
CALL GetUserInput |
| Handler_DisplayRoom_ListExits |
49521 |
CALL GetRoomPointer |
|
49524 |
LD D,H |
|
49525 |
LD E,L |
|
49526 |
LD B,6 |
|
49528 |
LD C,0 |
|
49530 |
XOR A |
| Handler_DisplayRoom_CountExits |
49531 |
CP (HL) |
|
49532 |
JR Z,Handler_DisplayRoom_CountNext |
|
49534 |
INC C |
| Handler_DisplayRoom_CountNext |
49535 |
INC HL |
|
49536 |
DJNZ Handler_DisplayRoom_CountExits |
|
49538 |
OR C |
|
49539 |
JR Z,Handler_DisplayRoom_ListObjects |
|
49541 |
LD A,C |
|
49542 |
CP 1 |
|
49544 |
JR NZ,Handler_DisplayRoom_ManyExits |
|
49546 |
LD HL,48060 |
|
49549 |
CALL PrintString |
|
49552 |
LD H,D |
|
49553 |
LD L,E |
|
49554 |
LD IX,48562 |
|
49558 |
XOR A |
|
49559 |
JR Handler_DisplayRoom_OneExit |
| Handler_DisplayRoom_SkipClosed |
49561 |
INC HL |
|
49562 |
INC IX |
|
49564 |
INC IX |
| Handler_DisplayRoom_OneExit |
49566 |
CP (HL) |
|
49567 |
JR Z,Handler_DisplayRoom_SkipClosed |
|
49569 |
LD L,(IX+0) |
|
49572 |
LD H,(IX+1) |
|
49575 |
CALL PrintString |
|
49578 |
JR Handler_DisplayRoom_FullStop |
| Handler_DisplayRoom_ManyExits |
49580 |
LD HL,48041 |
|
49583 |
CALL PrintStringAndANewline |
|
49586 |
LD H,D |
|
49587 |
LD L,E |
|
49588 |
LD IX,48562 |
|
49592 |
XOR A |
|
49593 |
JR Handler_DisplayRoom_ExitOpen |
| Handler_DisplayRoom_NextExit |
49595 |
EX DE,HL |
| Handler_DisplayRoom_StepExit |
49596 |
INC HL |
|
49597 |
INC IX |
|
49599 |
INC IX |
| Handler_DisplayRoom_ExitOpen |
49601 |
CP (HL) |
|
49602 |
JR Z,Handler_DisplayRoom_StepExit |
|
49604 |
EX DE,HL |
|
49605 |
LD L,(IX+0) |
|
49608 |
LD H,(IX+1) |
|
49611 |
CALL PrintString |
|
49614 |
DEC C |
|
49615 |
LD A,C |
|
49616 |
CP 1 |
|
49618 |
JR C,Handler_DisplayRoom_FullStop |
|
49620 |
JR Z,Handler_DisplayRoom_And |
|
49622 |
LD A,44 |
|
49624 |
CALL PrintCharacter |
|
49627 |
XOR A |
|
49628 |
JR Handler_DisplayRoom_NextExit |
| Handler_DisplayRoom_And |
49630 |
LD HL,48037 |
|
49633 |
CALL PrintString |
|
49636 |
XOR A |
|
49637 |
JR Handler_DisplayRoom_NextExit |
| Handler_DisplayRoom_FullStop |
49639 |
LD HL,48377 |
|
49642 |
CALL PrintStringAndANewline |
| Handler_DisplayRoom_ListObjects |
49645 |
LD A,(47771) |
|
49648 |
CALL IsObjectPresent |
|
49651 |
RET NZ |
|
49652 |
LD HL,48022 |
|
49655 |
CALL PrintStringAndANewline |
|
49658 |
LD A,(47771) |
|
49661 |
CALL PrintObjects |
|
49664 |
RET |