; ##-----------------------------LICENSE NOTICE------------------------------------
; ##  This file is part of Hacktank
; ##
; ##  Hacktank is free software: you can redistribute it and/or modify
; ##  it under the terms of the GNU Lesser General Public License as published by
; ##  the Free Software Foundation, either version 3 of the License, or
; ##  (at your option) any later version.
; ##
; ##  Hacktank is distributed in the hope that it will be useful,
; ##  but WITHOUT ANY WARRANTY; without even the implied warranty of
; ##  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
; ##  GNU Lesser General Public License for more details.
; ##
; ##  You should have received a copy of the GNU Lesser General Public License
; ##  along with Hacktank.  If not, see <http://www.gnu.org/licenses/>.
; ##------------------------------------------------------------------------------

.include "bala.h.s"
k_entity_size = 21
k_max_num_ent = 10
.macro DefineEntity _name, _x, _y, _vx, _vy, _w, _h, _sprite, _upd,_antx,_anty,_inx,_iny,_maxx,_maxy,_cart_enem,_dirbala,_e_disp_cont,_e_disp_max
_name:
    DrawableEntity _name'_de, _x, _y, _w, _h, _sprite,_antx,_anty;'
   .db   _vx, _vy     ;; VX, VY
   .dw   _upd        ;; Update
   .db _inx,_iny
   .db _maxx,_maxy
   .db _cart_enem
   .dw _dirbala
   .db _e_disp_cont, _e_disp_max
.endm
.macro DefineEntityDefault _name, _suf
  DefineEntity _name'_suf, 0xAA, 0, 0, 0, 0, 0, 0,0, 0,0,0,0,0,0,0,0,0,0xFF ;'
.endm
.macro DefineNEntities _name, _n
  _c=0
  .rept _n
    DefineEntityDefault _name,\_c
    _c=_c+1
    .endm
.endm




e_vx = 8
e_vy = 9
e_up_l = 10
e_up_h = 11
e_inx=12
e_iny=13
e_maxx=14
e_maxy=15
cart_enem=16
enem_disparo_l=17
enem_disparo_h=18
e_disp_cont=19
e_disp_max=20
.globl rng_max_power
.globl pj_reiniciar
.globl coll_matarpj
.globl coll_destruct
.globl colisiones_pared
.globl tiempo_dest
.globl k_max_num_bala
.globl n_num_bala
.globl ent_copy
.globl ent_draw
.globl ent_clear
.globl ent_update
.globl ent_moveKeyboard
.globl ent_move
.globl ent_move_x
.globl ent_move_y
.globl ent_reset_pos
.globl ent_mirror_y
.globl ent_mirror_x
.globl hero_data
;.globl enemy_data
.globl obstaculos
.globl bal_doForAll
.globl n_cartucho
.globl colisiones
.globl ent_move_enemigos
.globl _sprite_Spritesheet_00
.globl _sprite_Spritesheet_01
.globl _sprite_Spritesheet_02
.globl _sprite_Spritesheet_03
.globl _sprite_Spritesheet_04
.globl _sprite_Spritesheet_05
.globl _sprite_Spritesheet_06
.globl _sprite_Spritesheet_07
.globl _sprite_Spritesheet_08
.globl _sprite_Spritesheet_09
.globl _sprite_Spritesheet_10
.globl _sprite_Spritesheet_11
.globl _sprite_Spritesheet_12
.globl _sprite_Spritesheet_13
.globl _sprite_Spritesheet_14
.globl _sprite_Spritesheet_15
.globl _sprite_Spritesheet_16
.globl _sprite_Spritesheet_17
.globl _sprite_Spritesheet_18
.globl _sprite_Spritesheet_19
.globl _sprite_Spritesheet_20
.globl _sprite_Spritesheet_21
.globl _sprite_Spritesheet_22
.globl _sprite_Spritesheet_23
.globl _sprite_Spritesheet_24
.globl _sprite_Spritesheet_25
.globl _sprite_Spritesheet_26
.globl _sprite_Spritesheet_27
.globl _sprite_Spritesheet_28
.globl _sprite_Spritesheet_29
.globl _sprite_Spritesheet_30
.globl _sprite_Spritesheet_31





.globl _sprite_Enemigo
.globl _sprite_Obstaculo
.globl cpct_akp_SFXInit_asm
.globl cpct_akp_SFXPlay_asm
.globl _sfx



;;;;;;;;;;;;;;;bala
