2023-07-08 15:55:06 +02:00
|
|
|
#include "game.h"
|
|
|
|
|
|
|
|
#include "map.h"
|
|
|
|
|
2023-07-08 20:07:34 +02:00
|
|
|
#include "config.h"
|
|
|
|
|
|
|
|
#include <gint/keyboard.h>
|
|
|
|
|
2023-07-08 15:55:06 +02:00
|
|
|
void game_logic(Game *game) {
|
|
|
|
// to be done
|
|
|
|
}
|
|
|
|
|
|
|
|
void draw(Game *game) {
|
2023-07-08 16:57:04 +02:00
|
|
|
/* Draw everything. */
|
2023-07-10 19:35:22 +02:00
|
|
|
render_map_by_layer(&game->player, game->map_level, BACKGROUND);
|
2023-07-08 15:55:06 +02:00
|
|
|
player_draw(&game->player);
|
2023-07-10 19:35:22 +02:00
|
|
|
render_map_by_layer(&game->player, game->map_level, FOREGROUND);
|
2023-07-08 15:55:06 +02:00
|
|
|
}
|
|
|
|
|
2023-07-08 20:07:34 +02:00
|
|
|
/* Key management */
|
|
|
|
|
|
|
|
void get_inputs(Game *game) {
|
|
|
|
key_event_t ev;
|
|
|
|
while((ev = pollevent()).type != KEYEV_NONE){
|
|
|
|
/**/
|
|
|
|
}
|
|
|
|
|
|
|
|
/* Key binding for the Player action */
|
|
|
|
|
|
|
|
/*************************************/
|
|
|
|
|
|
|
|
if(keydown(KEY_EXIT)) game->exittoOS = true;
|
|
|
|
|
|
|
|
/* Player actions - Prototypes in player.h and implementation in player.c */
|
|
|
|
if(keydown(KEY_LEFT)) player_move(game->map_level, &game->player, D_LEFT);
|
|
|
|
if(keydown(KEY_RIGHT)) player_move(game->map_level, &game->player, D_RIGHT);
|
|
|
|
if(keydown(KEY_UP)) player_move(game->map_level, &game->player, D_UP);
|
|
|
|
if(keydown(KEY_DOWN)) player_move(game->map_level, &game->player, D_DOWN);
|
|
|
|
if(keydown(KEY_SHIFT)) player_action(&game->player);
|
|
|
|
|
|
|
|
/* if USB is enabled - keybinding for screencapture */
|
|
|
|
|
|
|
|
#if USB_FEATURE==1
|
|
|
|
|
|
|
|
if(keydown(KEY_7)) game->screenshot = true;
|
|
|
|
if(keydown(KEY_8)) game->record = !game->record;
|
|
|
|
|
|
|
|
#endif //USB_FEATURE
|
|
|
|
}
|
|
|
|
|