Prev: C8EF Up: Map Next: C989
C929: Process Object Display Logic
ProcessObjectDisplayLogic C929 CALL SetObjectPointers Call SetObjectPointers.
C92C LD A,($A034) Jump to ProcessObjectDisplayLogic_2 if *RoomDisplayParameter is greater than or equal to FE.
C92F CP $FE
C931 JR NC,ProcessObjectDisplayLogic_2
C933 LD IX,($A017) IX=*CurrentCharacterData.
C937 BIT 6,(IX+$05) Jump to ProcessObjectDisplayLogic_0 if the object doesn't have a special description (bit 6 of *IX+05 is not set).
C93B JR Z,ProcessObjectDisplayLogic_0
C93D XOR A A=00.
C93E CALL CalculateHandlerOffset Call CalculateHandlerOffset.
C941 JR NC,ProcessObjectDisplayLogic_0 Jump to ProcessObjectDisplayLogic_0 if A is greater than or equal to FE.
C943 LD A,($A033) A=*A033.
C946 CALL SearchTwoByteTable Call SearchTwoByteTable.
C949 CP $FF Jump to ProcessObjectDisplayLogic_1 if A is not equal to FF.
C94B JR NZ,ProcessObjectDisplayLogic_1
ProcessObjectDisplayLogic_0 C94D LD A,($A00F) Jump to ProcessObjectDisplayLogic_2 if *DisplayMode is less than 07.
C950 CP $07
C952 JR C,ProcessObjectDisplayLogic_2
C954 LD IX,($A013) IX=*A013.
C958 LD A,($A033) A=*A033.
C95B CALL CalculateHandlerOffset Call CalculateHandlerOffset.
C95E JR NC,ProcessObjectDisplayLogic_2 Jump to ProcessObjectDisplayLogic_2 if A is greater than or equal to 07.
ProcessObjectDisplayLogic_1 C960 LD A,(IX+$01) A=*IX+01.
C963 LD E,A E=A.
C964 LD D,$00 D=00.
C966 LD HL,$AA71 HL=Table_ObjectDisplayData.
C969 DEC DE Decrease DE by one.
C96A ADD HL,DE HL+=DE.
C96B ADD HL,DE HL+=DE.
C96C LD E,(HL) E=*HL.
C96D INC HL Increment HL by one.
C96E LD D,(HL) D=*HL.
C96F EX DE,HL Exchange the DE and HL registers.
C970 JR ProcessObjectDisplayEntry Jump to ProcessObjectDisplayEntry.
ProcessObjectDisplayLogic_2 C972 LD A,($A033) A=*A033.
C975 LD IX,$9F38 IX=9F38.
C979 CALL SearchThreeByteTable Call SearchThreeByteTable.
C97C CP $FF Jump to ReturnZero if A is equal to FF.
C97E JP Z,ReturnZero
C981 LD L,(IX+$01) L=*IX+01.
C984 LD H,(IX+$02) H=*IX+02.
C987 JR ProcessObjectDisplayEntry Jump to ProcessObjectDisplayEntry.
Prev: C8EF Up: Map Next: C989