![]() |
Routines |
| Prev: 51439 | Up: Map | Next: 51593 |
|
|
||||
| ProcessObjectDisplayLogic | 51497 | CALL SetObjectPointers | Call SetObjectPointers. | |
| 51500 | LD A,(41012) | Jump to ProcessObjectDisplayLogic_2 if *RoomDisplayParameter is greater than or equal to 254. | ||
| 51503 | CP 254 | |||
| 51505 | JR NC,ProcessObjectDisplayLogic_2 | |||
| 51507 | LD IX,(40983) | IX=*CurrentCharacterData. | ||
| 51511 | BIT 6,(IX+5) | Jump to ProcessObjectDisplayLogic_0 if the object doesn't have a special description (bit 6 of *IX+5 is not set). | ||
| 51515 | JR Z,ProcessObjectDisplayLogic_0 | |||
| 51517 | XOR A | A=0. | ||
| 51518 | CALL CalculateHandlerOffset | Call CalculateHandlerOffset. | ||
| 51521 | JR NC,ProcessObjectDisplayLogic_0 | Jump to ProcessObjectDisplayLogic_0 if A is greater than or equal to 254. | ||
| 51523 | LD A,(41011) | A=*41011. | ||
| 51526 | CALL SearchTwoByteTable | Call SearchTwoByteTable. | ||
| 51529 | CP 255 | Jump to ProcessObjectDisplayLogic_1 if A is not equal to 255. | ||
| 51531 | JR NZ,ProcessObjectDisplayLogic_1 | |||
| ProcessObjectDisplayLogic_0 | 51533 | LD A,(40975) | Jump to ProcessObjectDisplayLogic_2 if *DisplayMode is less than 7. | |
| 51536 | CP 7 | |||
| 51538 | JR C,ProcessObjectDisplayLogic_2 | |||
| 51540 | LD IX,(40979) | IX=*40979. | ||
| 51544 | LD A,(41011) | A=*41011. | ||
| 51547 | CALL CalculateHandlerOffset | Call CalculateHandlerOffset. | ||
| 51550 | JR NC,ProcessObjectDisplayLogic_2 | Jump to ProcessObjectDisplayLogic_2 if A is greater than or equal to 7. | ||
| ProcessObjectDisplayLogic_1 | 51552 | LD A,(IX+1) | A=*IX+1. | |
| 51555 | LD E,A | E=A. | ||
| 51556 | LD D,0 | D=0. | ||
| 51558 | LD HL,43633 | HL=Table_ObjectDisplayData. | ||
| 51561 | DEC DE | Decrease DE by one. | ||
| 51562 | ADD HL,DE | HL+=DE. | ||
| 51563 | ADD HL,DE | HL+=DE. | ||
| 51564 | LD E,(HL) | E=*HL. | ||
| 51565 | INC HL | Increment HL by one. | ||
| 51566 | LD D,(HL) | D=*HL. | ||
| 51567 | EX DE,HL | Exchange the DE and HL registers. | ||
| 51568 | JR ProcessObjectDisplayEntry | Jump to ProcessObjectDisplayEntry. | ||
| ProcessObjectDisplayLogic_2 | 51570 | LD A,(41011) | A=*41011. | |
| 51573 | LD IX,40760 | IX=40760. | ||
| 51577 | CALL SearchThreeByteTable | Call SearchThreeByteTable. | ||
| 51580 | CP 255 | Jump to ReturnZero if A is equal to 255. | ||
| 51582 | JP Z,ReturnZero | |||
| 51585 | LD L,(IX+1) | L=*IX+1. | ||
| 51588 | LD H,(IX+2) | H=*IX+2. | ||
| 51591 | JR ProcessObjectDisplayEntry | Jump to ProcessObjectDisplayEntry. | ||
| Prev: 51439 | Up: Map | Next: 51593 |