Prev: 46333 Up: Map Next: 46409
46359: Check And Process Objects
Used by the routine at CheckFlagAndSetDisplay_ProcessPointer.
CheckFlagAndSetDisplay_CheckObjects 46359 LD A,(40988) Check if objects need processing and return if none.
46362 AND A
46363 RET Z
46364 PUSH IY Stash IY, DE and IX on the stack.
46366 PUSH DE
46367 PUSH IX
CheckFlagAndSetDisplay_ObjectLoop 46369 CALL 44713 Call 44713 (get next object).
46372 BIT 6,(IY+%00000001) Check bit 6 of object attribute and jump to CheckFlagAndSetDisplay_RestoreAndReturn if object doesn't need special handling.
46376 JR Z,CheckFlagAndSetDisplay_RestoreAndReturn
46378 CALL AdjustObjectTableForSum Call AdjustObjectTableForSum (adjust object table for sum).
CheckFlagAndSetDisplay_ProcessObject 46381 PUSH IY Stash IY on the stack and restore into HL.
46383 POP HL
46384 LD DE,8 HL+=0008 (move to next object).
46387 ADD HL,DE
46388 CALL ProcessObjectEntry Call ProcessObjectEntry (process object entry).
46391 CP 255 Compare with 255 and jump to CheckFlagAndSetDisplay_ObjectLoop if end of objects.
46393 JR Z,CheckFlagAndSetDisplay_ObjectLoop
46395 LD HL,41012 HL=RoomDisplayParameter and compare with room parameter.
46398 CP (HL)
46399 JR NZ,CheckFlagAndSetDisplay_ProcessObject Jump to CheckFlagAndSetDisplay_ProcessObject if object doesn't match room, otherwise set bit 0.
46401 OR 1
CheckFlagAndSetDisplay_RestoreAndReturn 46403 POP IX Restore IX, DE and IY from the stack.
46405 POP DE
46406 POP IY
46408 RET Return.
Prev: 46333 Up: Map Next: 46409