Routines 
Prev: 63138  Up: Map  Next: 63196 


63152  LD L,4  Point HL at byte 4 of the character's buffer  
63154  BIT 0,(HL)  Is the character indoors?  
63156  RET Z  Return if not  
63157  CALL 63138  Collect in C the xcoordinate of the front column of the character's sprite  
63160  LD B,128  Bit 7 set: check for a light switch at the left side of the room  
63162  JR Z,63184  Jump if C=0 mod 8  
63164  LD B,16  Bit 4 set: check for a blind on the lefthand window  
63166  SUB 3  Does C=1 or 2 mod 8?  
63168  JR C,63184  Jump if so  
63170  LD B,4  Bit 2 set: check for a blind on a large central window  
63172  SUB 2  Does C=3 or 4 mod 8?  
63174  JR C,63184  Jump if so  
63176  LD B,8  Bit 3 set: check for a blind on the righthand window  
63178  SUB 2  Does C=5 or 6 mod 8?  
63180  JR C,63184  Jump if so  
63182  LD B,64  Bit 6 set: check for a light switch at the right side of the room (when C=7 mod 8)  
63184  PUSH BC  Save the fixture identifier bit (in B)  
63185  CALL 62548  Is the character standing next to a light switch or a window that has a blind?  
63188  JR NZ,63193  Jump if so  
63190  POP AF  Restore the fixture identifier bit to A (though we don't need it now)  
63191  XOR A  Set the zero flag  
63192  RET  
63193  POP AF  Restore the fixture identifier bit to A  
63194  AND A  Reset the zero flag  
63195  RET 
Prev: 63138  Up: Map  Next: 63196 