This commit is contained in:
Stefan Stefanov 2024-02-10 16:30:51 +02:00
parent 78af71a33a
commit 920acc687e
2 changed files with 8 additions and 2 deletions

View file

@ -215,7 +215,7 @@ fire_bullet :: proc(state: ^GameState, shot_from_player := true) {
log.info("Fired bullet: ", bullet)
}
// Since I'm using a #soa array I can't directly modify the alien & bullet entities...
// Since I'm using a #soa array I can't directly modify the alien & bullet entities...I think?
damage_alien :: proc(
state: ^GameState,
bullet_in: Bullet,

View file

@ -2,6 +2,9 @@ package space_invaders
import glm "core:math/linalg/glsl"
// TO -> texture offset
// x,y, width, height
LOGO_TO :: [2]glm.vec2{{0, 0}, {128-(SPRITE_CELL * 2), SPRITE_CELL * 2}}
GLOBAL_SPRITE_SCALE :: 2
@ -12,6 +15,8 @@ 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}
// note: this multiplication by GLOBAL_SPRITE_SCALE is a hack, but it's a weekend project
// so i won't bother refactoring it
MAX_BULLETS :: 100
BULLET_SPEED :: 240
@ -26,7 +31,7 @@ SHIP_TO :: glm.vec2{0, 112}
BULLET_TO := [2]glm.vec2{{0, 80}, {16, 80}}
BULLET_FRAME_ANIM := 0
// texture atlas offset for aliens
// texture atlas offset for aliens (x,y), height & width is implied by SPRITE_CELL
ALIENS_TO := [AlienKind]glm.vec2 {
.ORANGE = {0, 128 - (SPRITE_CELL * 2)},
.GREEN = {SPRITE_CELL * 1, 128 - (SPRITE_CELL * 2)},
@ -34,6 +39,7 @@ ALIENS_TO := [AlienKind]glm.vec2 {
.RED = {SPRITE_CELL * 3, 128 - (SPRITE_CELL * 2)},
}
ALIEN_DEATH_FRAMES :: 4
// texture atlas offset for aliens' death frames (x,y), height & width is implied by SPRITE_CELL
ALIEN_DEATH_ANIMATION_TO := [ALIEN_DEATH_FRAMES]glm.vec2 {
{0, 128 - (SPRITE_CELL * 4)},
{SPRITE_CELL * 1, 128 - (SPRITE_CELL * 4)},