Routines 
Prev: 27508  Up: Map  Next: 27703 
Used by the routine at 27136.


27647  LD A,(25157)  Load Magic Knight's current ycoordinate into B...  
27650  LD B,A  ...  
27651  LD A,(25161)  Load A with Magic Knight's yvelocity  
27654  ADD A,B  Add yvelocity to ycoordinate in A  
27655  CALL 28625  Divide A by eight, rounding down to nearest integer  
27658  LD B,A  Load Magic Knight's ycoordinate (characters) into B  
27659  LD A,(25156)  Load Magic Knight's current xcoordinate into A  
27662  ADD A,4  Add 4 to xcoordinate (to get point roughly quarter of the way through Magic Knight's total width)  
27664  CALL 28625  Divide A by eight, rounding down to nearest integer  
27667  LD C,A  Load Magic Knight's current xcoordinate (characters) into C  
27668  CALL 54162  Point HL at terrain interaction data for character coordinates x=C, y=B  
27671  BIT 4,(HL)  If bit 4 of Magic Knight's current position's terrain data (block is impassable vertically, upwards) is set then...  
27673  JR NZ,27695  ...kill Magic Knight's yvelocity and exit routine  
27675  INC HL  Advance to next character block along in "terrain interaction data"  
27676  BIT 4,(HL)  If bit 4 of this position's terrain data (block is impassable vertically, upwards) is set then...  
27678  JR NZ,27695  ...kill Magic Knight's yvelocity and exit routine  
27680  DEC B  Advance ycoordinate by one character (to get point roughly three quarters of the way through Magic Knight's total width)  
27681  CALL 54162  Point HL at terrain interaction data for character coordinates x=C, y=B  
27684  BIT 4,(HL)  If bit 4 of this position's terrain data (block is impassable vertically, upwards) is set then...  
27686  JR NZ,27695  ...kill Magic Knight's yvelocity and exit routine  
27688  INC HL  Advance to next character block along in "terrain interaction data"  
27689  BIT 4,(HL)  If bit 4 of this position's terrain data (block is impassable vertically, upwards) is set then...  
27691  JR NZ,27695  ...kill Magic Knight's yvelocity and exit routine  
27693  XOR A  Set A to zero, as jump was not impeded  
27694  RET  Return  
27695  XOR A  Set Magic Knight's yvelocity to zero...  
27696  LD (25161),A  ...  
27699  LD A,1  Set A to one  
27701  OR A  Reset zero flag  
27702  RET  Return 
Prev: 27508  Up: Map  Next: 27703 