commit
d5c1b9c2f6
|
@ -1,6 +1,11 @@
|
||||||
#ifndef GFX_H
|
#ifndef GFX_H
|
||||||
#define GFX_H
|
#define GFX_H
|
||||||
|
|
||||||
|
#define INPUT_UP 0
|
||||||
|
#define INPUT_DOWN 1
|
||||||
|
#define INPUT_LEFT 2
|
||||||
|
#define INPUT_RIGHT 3
|
||||||
|
|
||||||
#include "engine.h"
|
#include "engine.h"
|
||||||
|
|
||||||
struct gfx_state;
|
struct gfx_state;
|
||||||
|
|
|
@ -21,6 +21,7 @@ struct gfx_state* gfx_init(struct gamestate *g)
|
||||||
{
|
{
|
||||||
initscr();
|
initscr();
|
||||||
cbreak();
|
cbreak();
|
||||||
|
keypad(stdscr, true);
|
||||||
noecho();
|
noecho();
|
||||||
curs_set(FALSE);
|
curs_set(FALSE);
|
||||||
refresh();
|
refresh();
|
||||||
|
@ -116,7 +117,27 @@ int gfx_getch(struct gfx_state *s)
|
||||||
nodelay(s->window, TRUE);
|
nodelay(s->window, TRUE);
|
||||||
while (wgetch(s->window) != ERR);
|
while (wgetch(s->window) != ERR);
|
||||||
nodelay(s->window, FALSE);
|
nodelay(s->window, FALSE);
|
||||||
|
|
||||||
|
switch (c)
|
||||||
|
{
|
||||||
|
case KEY_UP:
|
||||||
|
return INPUT_UP;
|
||||||
|
break;
|
||||||
|
case KEY_DOWN:
|
||||||
|
return INPUT_DOWN;
|
||||||
|
break;
|
||||||
|
case KEY_RIGHT:
|
||||||
|
return INPUT_RIGHT;
|
||||||
|
break;
|
||||||
|
case KEY_LEFT:
|
||||||
|
return INPUT_LEFT;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
return c;
|
return c;
|
||||||
|
break;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void gfx_sleep(int ms)
|
void gfx_sleep(int ms)
|
||||||
|
|
|
@ -39,18 +39,22 @@ get_new_key:;
|
||||||
switch (value) {
|
switch (value) {
|
||||||
case 'h':
|
case 'h':
|
||||||
case 'a':
|
case 'a':
|
||||||
|
case INPUT_LEFT:
|
||||||
direction = dir_left;
|
direction = dir_left;
|
||||||
break;
|
break;
|
||||||
case 'l':
|
case 'l':
|
||||||
case 'd':
|
case 'd':
|
||||||
|
case INPUT_RIGHT:
|
||||||
direction = dir_right;
|
direction = dir_right;
|
||||||
break;
|
break;
|
||||||
case 'j':
|
case 'j':
|
||||||
case 's':
|
case 's':
|
||||||
|
case INPUT_DOWN:
|
||||||
direction = dir_down;
|
direction = dir_down;
|
||||||
break;
|
break;
|
||||||
case 'k':
|
case 'k':
|
||||||
case 'w':
|
case 'w':
|
||||||
|
case INPUT_UP:
|
||||||
direction = dir_up;
|
direction = dir_up;
|
||||||
break;
|
break;
|
||||||
case 'q':
|
case 'q':
|
||||||
|
|
Loading…
Reference in New Issue
Block a user