/* For some reason an integer operation is run as floating point. Test is to see if it links. */ #include typedef unsigned char UBYTE; typedef unsigned char UINT8; void set_sprite_tile(UINT8 nb, UINT8 tile) { UNUSED(nb && tile); } /* screen size */ #define MIN_SX 5U /* min x (char) */ #define MAX_SX (20U-MIN_SX) /* max x (char) */ #define MIN_SY 5U /* min y (char) */ #define MAX_SY (MIN_SY+13U) /* max y (char) */ #define DEF_SP 30U /* sprite null char code */ /* player */ #define MIN_PX (MIN_SX*8U+8U) /* min x (dot) */ #define MAX_PX (MAX_SX*8U-8U) /* max x (dot) */ #define DEF_PX 80U /* ship x pos (dot) */ #define DEF_PY (MIN_SY*8U) /* ship y pos (dot) */ #define DEF_PC0 14U #define DEF_PC1 15U #define DEF_PF 8U /* bomb */ #define MAX_TT 6U /* number */ #define DEF_TS 2U /* sprite tile id */ #define DEF_TC 2U /* sprite data id */ #define DEF_TX (80U-6U) /* bomb x pos (dot) */ #define DEF_TY (DEF_PY-14U) /* bomb y pos (dot) */ #define MAX_TY (MAX_SY*8U) /* max y pos (dot) */ /* enemy */ #define MAX_ET 10U /* number */ #define DEF_ES0 (DEF_TS+MAX_TT) /* sprite tile id */ #define DEF_ES1 (DEF_ES0+1U) #define DEF_1EC0 32U #define DEF_1EC1 48U #define DEF_2EC0 64U #define DEF_2EC1 80U #define DEF_XEC0 96U /* sprite data(X) id */ #define DEF_XEC1 112U /* sprite data(X) id */ #define DEF_EY (DEF_PY+12U) #define DEF_EH 10U #define SUB_EX0 20U #define SUB_EX1 (SUB_EX0-8U) #define MIN_EX (SUB_EX0-16U) #define MAX_EX (SUB_EX0+180U) #define SPEED_EY (DEF_EY+DEF_EH*3U) #define DEF_BC1 4U #define DEF_BC2 5U UBYTE ef[MAX_ET], ex[MAX_ET], ey[MAX_ET]; UBYTE pf, px, pp, pl; /* enemys */ void enemys() { UBYTE i; for( i=0; i