added logo to main screen and set up the game to start from the logo screen

This commit is contained in:
Stefan Stefanov 2024-02-10 16:09:04 +02:00
parent 31de4ca06c
commit 78af71a33a
5 changed files with 66 additions and 54 deletions

View file

@ -21,30 +21,31 @@ GameEndType :: enum {
GameState :: struct {
// window
target_fps: c.int,
title: cstring,
screen_width: c.int,
screen_height: c.int,
target_fps: c.int,
title: cstring,
screen_width: c.int,
screen_height: c.int,
// frame stats
frame_counter: int,
current_frame_time: f64,
last_frame_time: f64,
delta_time: f64,
frame_counter: int,
current_frame_time: f64,
last_frame_time: f64,
delta_time: f64,
// game vars
screen: GameScreen,
previous_screen: GameScreen,
last_frame_screen: GameScreen,
game_end: GameEndType,
reset_game: bool,
aliens: #soa[ALIENS]Alien,
bullets: #soa[MAX_BULLETS]Bullet,
bullet_index: int,
player_pos: glm.vec2,
player_health: c.int,
player_score: c.int,
player_high_score: c.int,
shuffle_dir: ShuffleDirection,
last_shuffle_dir: ShuffleDirection,
screen: GameScreen,
previous_screen: GameScreen,
last_frame_screen: GameScreen,
game_end: GameEndType,
reset_game: bool,
aliens: #soa[ALIENS]Alien,
bullets: #soa[MAX_BULLETS]Bullet,
bullet_index: int,
player_last_time_fired: f64,
player_pos: glm.vec2,
player_health: c.int,
player_score: c.int,
player_high_score: c.int,
shuffle_dir: ShuffleDirection,
last_shuffle_dir: ShuffleDirection,
}
state: GameState
@ -63,8 +64,8 @@ setup :: proc(state: ^GameState) {
title = "Space Invaders (raylib+odin-lang edition)"
current_frame_time = rl.GetTime()
previous_screen = .LOGO
screen = .GAMEPLAY
previous_screen = .TITLE
screen = .TITLE
rl.SetTargetFPS(target_fps)
}