Prev: 41824 Up: Map Next: 42155
41853: Process Object Display
Used by the routines at ProcessObjectDisplay and CheckAndResetCharacterState.
ProcessObject_Display 41853 XOR A
41854 LD (41000),A
41857 LD A,(41821)
41860 CALL CalculateObjectTableOffset
41863 PUSH HL
41864 POP IX
41866 PUSH HL
41867 CALL ExtractObjectAttributes
41870 CALL CheckDisplayFlagBit3
41873 CALL CheckDisplayFlagBit2
41876 POP HL
41877 LD A,(40989)
41880 LD C,A
41881 PUSH HL
41882 LD DE,6
41885 ADD HL,DE
41886 CALL ExtractTokenFromText
41889 POP HL
41890 CALL ExtractTokenFromText
41893 BIT 3,C
41895 JR Z,ProcessObject_Display_3
41897 BIT 5,C
41899 CALL NZ,ExtractTokenFromText
41902 LD A,(40990)
41905 BIT 7,A
41907 CALL NZ,ExtractTokenFromText
41910 LD A,(41822)
41913 CP 254
41915 JR NZ,ProcessObject_Display_0
41917 PUSH HL
41918 LD HL,(41007)
41921 CALL ProcessObject_Display_6
41924 POP HL
41925 JR ProcessObject_Display_3
ProcessObject_Display_0 41927 PUSH HL
41928 LD HL,41014
41931 CP (HL)
41932 JR NZ,ProcessObject_Display_1
41934 LD DE,1371
41937 CALL PrintTextToken
41940 JR ProcessObject_Display_2
ProcessObject_Display_1 41942 LD A,(40975)
41945 CP 5
41947 LD A,(41822)
41950 CALL ProcessLocationDataIfValid
ProcessObject_Display_2 41953 POP HL
ProcessObject_Display_3 41954 LD A,(41823)
41957 CP 255
41959 JR Z,ProcessObject_Display_5
41961 BIT 2,C
41963 JR Z,ProcessObject_Display_5
41965 BIT 5,C
41967 CALL Z,ExtractTokenFromText
41970 LD A,(40990)
41973 BIT 7,A
41975 CALL Z,ExtractTokenFromText
41978 LD A,(41823)
41981 CP 254
41983 JR NZ,ProcessObject_Display_4
41985 LD HL,(41009)
41988 CALL ProcessObject_Display_6
41991 JR ProcessObject_Display_5
ProcessObject_Display_4 41993 LD A,(40976)
41996 CP 5
41998 LD A,(41823)
42001 CALL ProcessLocationDataIfValid
ProcessObject_Display_5 42004 LD A,46
42006 JP Print_Character
This entry point is used by the routines at 57723 and 59068.
ProcessObject_Display_6 42009 PUSH BC
42010 RES 7,H
42012 SLA L
42014 SRL H
42016 RR L
42018 LD A,32
42020 CALL Print_Character
42023 LD DE,240
42026 CALL ProcessObject_Display_12
42029 AND A
42030 JR Z,ProcessObject_Display_7
42032 LD B,A
42033 LD A,96
42035 CALL Print_Character
42038 CALL ProcessObject_Display_16
42041 LD A,L
42042 OR H
42043 JR Z,ProcessObject_Display_10
42045 LD A,32
42047 CALL Print_Character
ProcessObject_Display_7 42050 LD DE,12
42053 CALL ProcessObject_Display_12
42056 AND A
42057 JR Z,ProcessObject_Display_11
42059 LD B,A
42060 CALL ProcessObject_Display_16
42063 LD A,47
42065 CALL Print_Character
42068 LD A,L
42069 AND A
42070 LD B,A
42071 JR Z,ProcessObject_Display_8
42073 CALL ProcessObject_Display_16
42076 JR ProcessObject_Display_10
ProcessObject_Display_8 42078 LD A,45
ProcessObject_Display_9 42080 CALL Print_Character
42083 XOR A
42084 LD (40998),A
ProcessObject_Display_10 42087 POP BC
42088 RET
ProcessObject_Display_11 42089 LD B,L
42090 CALL ProcessObject_Display_16
42093 LD A,68
42095 CALL Print_Character
42098 LD A,46
42100 JR ProcessObject_Display_9
ProcessObject_Display_12 42102 LD A,255
ProcessObject_Display_13 42104 INC A
42105 AND A
42106 SBC HL,DE
42108 JR NC,ProcessObject_Display_13
42110 ADD HL,DE
42111 RET
ProcessObject_Display_14 42112 CALL ProcessObject_Display_12
42115 ADD A,48
42117 DEC C
42118 INC C
42119 JR NZ,ProcessObject_Display_15
42121 CP 48
42123 RET Z
42124 INC C
ProcessObject_Display_15 42125 JP Print_Character
ProcessObject_Display_16 42128 PUSH HL
42129 PUSH DE
42130 LD L,B
42131 LD H,0
42133 LD C,H
42134 LD DE,100
42137 CALL ProcessObject_Display_14
42140 LD DE,10
42143 CALL ProcessObject_Display_14
42146 LD A,L
42147 ADD A,48
42149 CALL Print_Character
42152 POP DE
42153 POP HL
42154 RET
Prev: 41824 Up: Map Next: 42155