Adoranda/src/game.c

45 lines
1.1 KiB
C
Raw Permalink Normal View History

2021-07-29 18:33:22 +02:00
#include <gint/display.h>
#include <gint/keyboard.h>
2021-07-29 18:33:22 +02:00
#include "game.h"
#include "player.h"
#include "map.h"
struct Game init_game(struct Player *player) {
extern struct Map *maps[];
struct Game game = {
.map = maps[0],
.player = player,
.camera = camera_new(&player->pos_visual),
2021-12-23 18:37:48 +01:00
.background = C_BLACK
};
return game;
}
2021-07-29 18:33:22 +02:00
2021-08-08 01:43:26 +02:00
/*get the input with a timeout*/
int get_inputs(void) {
2021-08-05 03:12:40 +02:00
int opt = GETKEY_DEFAULT & GETKEY_REP_ARROWS;
int timeout = 1;
key_event_t ev = getkey_opt(opt, &timeout);
if(ev.type == KEYEV_NONE) return -1;
int key = ev.key;
if(key == KEY_MENU) return ACTION_MENU;
/*direction*/
if(key == KEY_DOWN) return DIR_DOWN;
if(key == KEY_RIGHT) return DIR_RIGHT;
if(key == KEY_UP) return DIR_UP;
if(key == KEY_LEFT) return DIR_LEFT;
/*action key*/
if(key == KEY_SHIFT) return ACTION_SHIFT;
if(key == KEY_ALPHA) return ACTION_ALPHA;
if(key == KEY_OPTN) return ACTION_OPTN;
if(key == KEY_F1) return ACTION_F1;
if(key == KEY_F2) return ACTION_F2;
return -1;
2021-08-15 03:46:49 +02:00
}