package space_invaders import glm "core:math/linalg/glsl" LOGO_TO :: [2]glm.vec2{{0, 0}, {128-(SPRITE_CELL * 2), SPRITE_CELL * 2}} GLOBAL_SPRITE_SCALE :: 2 SPRITE_CELL :: 16 ALIEN_ROWS :: 5 ALIENS_PER_ROW :: 11 ALIENS :: ALIEN_ROWS * ALIENS_PER_ROW ALIEN_SIDE_STEP :: 20 * GLOBAL_SPRITE_SCALE ALIEN_RECT :: glm.vec2{SPRITE_CELL * GLOBAL_SPRITE_SCALE, SPRITE_CELL * GLOBAL_SPRITE_SCALE} MAX_BULLETS :: 100 BULLET_SPEED :: 240 BULLET_RECT :: glm.vec2{SPRITE_CELL * GLOBAL_SPRITE_SCALE, SPRITE_CELL * GLOBAL_SPRITE_SCALE} MAX_PLAYER_HEALTH :: 3 PLAYER_SPEED :: 120 PLAYER_RECT :: glm.vec2{SPRITE_CELL * GLOBAL_SPRITE_SCALE, SPRITE_CELL * GLOBAL_SPRITE_SCALE} // texture offset for ship SHIP_TO :: glm.vec2{0, 112} BULLET_TO := [2]glm.vec2{{0, 80}, {16, 80}} BULLET_FRAME_ANIM := 0 // texture atlas offset for aliens ALIENS_TO := [AlienKind]glm.vec2 { .ORANGE = {0, 128 - (SPRITE_CELL * 2)}, .GREEN = {SPRITE_CELL * 1, 128 - (SPRITE_CELL * 2)}, .YELLOW = {SPRITE_CELL * 2, 128 - (SPRITE_CELL * 2)}, .RED = {SPRITE_CELL * 3, 128 - (SPRITE_CELL * 2)}, } ALIEN_DEATH_FRAMES :: 4 ALIEN_DEATH_ANIMATION_TO := [ALIEN_DEATH_FRAMES]glm.vec2 { {0, 128 - (SPRITE_CELL * 4)}, {SPRITE_CELL * 1, 128 - (SPRITE_CELL * 4)}, {SPRITE_CELL * 2, 128 - (SPRITE_CELL * 4)}, {SPRITE_CELL * 3, 128 - (SPRITE_CELL * 4)}, }