?login_element?

Subversion Repositories NedoOS

Rev

Rev 170 | Blame | Compare with Previous | Last modification | View Log | Download

  1.         MACRO SETANIM n
  2.         ld (ix+obj_anim),n
  3.         ld (ix+obj_animcounter),1
  4.         ld (ix+obj_animphase),0
  5.         ENDM
  6.        
  7.         MACRO GETXDE_YHL
  8.         ld e,(ix+obj_x)
  9.         ld d,(ix+(obj_x+1))
  10.         ld l,(ix+obj_y)
  11.         ld h,(ix+(obj_y+1))
  12.         ENDM
  13.        
  14.         MACRO PUTXDE_YHL
  15.         ld (ix+obj_x),e
  16.         ld (ix+(obj_x+1)),d
  17.         ld (ix+obj_y),l
  18.         ld (ix+(obj_y+1)),h
  19.         ENDM
  20.  
  21.         MACRO COORDSBC_TOSCRHL
  22.         ld a,b
  23.         rra
  24.         rra
  25.         rra
  26.         xor b
  27.         and 0xf8
  28.         xor b
  29.         and 0x1f
  30.         add a,scrbuf/256
  31.         ld h,a
  32.         ld a,c
  33.         rlca
  34.         rlca
  35.         rlca
  36.         xor b
  37.         and 0xc7
  38.         xor b
  39.         rlca
  40.         rlca
  41.         ld l,a
  42.         ENDM
  43.        
  44.         MACRO COORDSBC_TOSCRDE
  45.         ld a,b
  46.         rra
  47.         rra
  48.         rra
  49.         xor b
  50.         and 0xf8
  51.         xor b
  52.         and 0x1f
  53.         add a,scrbuf/256
  54.         ld d,a
  55.         ld a,c
  56.         rlca
  57.         rlca
  58.         rlca
  59.         xor b
  60.         and 0xc7
  61.         xor b
  62.         rlca
  63.         rlca
  64.         ld e,a
  65.         ENDM
  66.        
  67.         MACRO CALCvalidmapaddr_hlyx_tohl
  68. ;hl=yx (в пикселях)
  69. ;%YYYYYyyy XXXXXxxx
  70.         ld a,h
  71.         rra
  72.         rra
  73.         rra
  74. ;%???YYYYY XXXXXxxx
  75.         rra
  76.         rr l
  77.         rra
  78.         rr l
  79.         rra
  80.         rr l
  81.         and 0x03
  82.         add a,validmap/256
  83.         ld h,a
  84. ;%tttttYY YYYXXXXX
  85.         ENDM
  86.  
  87.         MACRO CALCvalidmapaddr_bcyx_tohl
  88. ;bc=yx (в пикселях)
  89. ;%YYYYYyyy XXXXXxxx
  90.         ld a,b
  91.         rra
  92.         rra
  93.         rra
  94. ;%???YYYYY XXXXXxxx
  95.         ld l,c
  96.         rra
  97.         rr l
  98.         rra
  99.         rr l
  100.         rra
  101.         rr l
  102.         and 0x03
  103.         add a,validmap/256
  104.         ld h,a
  105. ;%tttttYY YYYXXXXX
  106.         ENDM
  107.  
  108.         macro STRUCT
  109. _=0
  110.         endm
  111.         macro BYTE addr
  112. addr=_
  113. _=_+1
  114.         endm
  115.         macro WORD addr
  116. addr=_
  117. _=_+2
  118.         endm
  119.  
  120.         STRUCT
  121.         WORD obj_x
  122.         WORD obj_y
  123.         WORD obj_objaddr
  124.         BYTE obj_energy
  125.         BYTE obj_dir
  126.         BYTE obj_speed
  127.         BYTE obj_anim
  128.         BYTE obj_animphase
  129.         BYTE obj_animcounter
  130.         BYTE obj_delaycounter
  131.         BYTE obj_gundelaycounter
  132. objsize=_
  133.  
  134.