Prev: 51439 Up: Map Next: 51593
51497: Process Object Display Logic
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