|  | Routines | 
| Prev: 54764 | Up: Map | Next: 54878 | 
| 
 
 | ||||||||||||||||||
| 54768 | LD C,0 | Set depth offset to 0 (i.e. check entities at same depth) | ||||||||||||||||
| 
This entry point is used by the routine at 54764.
 | ||||||||||||||||||
| 54770 | LD IY,(34238) | Load start address of current level's complex state data into IY | ||||||||||||||||
| 54774 | LD DE,13 | Load DE with 13 (as entries in complex state data are 13 bytes wide) | ||||||||||||||||
| 54777 | LD A,(IY+0) | Load A with room index for current IY entity | ||||||||||||||||
| 54780 | CP 255 | If this is not 255 (i.e. end marker)... | ||||||||||||||||
| 54782 | JR NZ,54786 | ...then skip ahead to 54786 | ||||||||||||||||
| 54784 | SCF | Set carry flag | ||||||||||||||||
| 54785 | RET | Return | ||||||||||||||||
| 54786 | LD A,(IX+0) | If room of entity at IX is not the same as room of entity at IY... | ||||||||||||||||
| 54789 | CP (IY+0) | ... | ||||||||||||||||
| 54792 | JR NZ,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54794 | BIT 5,(IY+10) | If current entity at IY has its is-being-carried flag set... | ||||||||||||||||
| 54798 | JP NZ,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54801 | LD A,(IY+8) | If current entity at IY has a class which is the same as the entity at IX... | ||||||||||||||||
| 54804 | CP (IX+8) | ... | ||||||||||||||||
| 54807 | JR Z,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54809 | BIT 7,A | If entity at IY has its spans-full-depth flag set... | ||||||||||||||||
| 54811 | JR NZ,54822 | ...then skip over depth check to 54822 | ||||||||||||||||
| 54813 | LD A,(IY+1) | If entity at IY has a depth which is not the same as the depth of the entity at IX... | ||||||||||||||||
| 54816 | ADD A,C | ...plus depth offset... | ||||||||||||||||
| 54817 | CP (IX+1) | ... | ||||||||||||||||
| 54820 | JR NZ,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54822 | LD A,(IY+11) | If entity at IY has its interaction-(11,6) flag reset... | ||||||||||||||||
| 54825 | AND 64 | ... | ||||||||||||||||
| 54827 | JP Z,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54830 | LD A,(IX+6) | If the bottom of the entity at IX... | ||||||||||||||||
| 54833 | CP (IY+4) | ...is above the top of the entity at IY... | ||||||||||||||||
| 54836 | JR C,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54838 | LD A,(IY+6) | If the bottom of the entity at IY... | ||||||||||||||||
| 54841 | CP (IX+4) | ...is above the top of the entity at IX... | ||||||||||||||||
| 54844 | JR C,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54846 | LD A,(IX+7) | If the right side of entity IX... | ||||||||||||||||
| 54849 | CP (IY+5) | ...is to the left of the left side of the entity at IY... | ||||||||||||||||
| 54852 | JR C,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54854 | LD A,(IY+7) | If the right side of entity IY... | ||||||||||||||||
| 54857 | CP (IX+5) | ...is to the left of the left side of the entity at IX... | ||||||||||||||||
| 54860 | JR C,54874 | ...then advance IY to next entity | ||||||||||||||||
| 54862 | XOR A | Set A to zero to reset carry flag | ||||||||||||||||
| 54863 | LD (34258),IY | Store pointer to current entity at 34258 | ||||||||||||||||
| 54867 | LD A,(IY+8) | Load A with class of entity at IY | ||||||||||||||||
| 54870 | RET | Return | ||||||||||||||||
| 54871 | LD DE,13 | Load DE with 13, as entries in complex state data are 13 bytes wide | ||||||||||||||||
| 54874 | ADD IY,DE | Advance IY pointer to next entity in complex state data block | ||||||||||||||||
| 54876 | JR 54777 | Loop back to 54777 | ||||||||||||||||
| Prev: 54764 | Up: Map | Next: 54878 |