fix in timer and input. todo: mouse?

This commit is contained in:
p.kosyh 2010-01-21 05:35:53 +00:00
parent 38e536dab2
commit dda0cebb15
2 changed files with 9 additions and 11 deletions

View file

@ -2134,7 +2134,6 @@ static int is_key(struct inp_event *ev, const char *name)
static int game_input(int down, const char *key)
{
int b;
char *p;
char buf[1024];
@ -2152,10 +2151,11 @@ static int game_input(int down, const char *key)
return -1;
}
b = instead_bretval(0);
instead_clear();
if (!b)
p = instead_retval(0); instead_clear();
if (!p)
return -1;
mouse_reset(0);
game_cmd(p); free(p);
return 0;
}
@ -2175,8 +2175,7 @@ int game_loop(void)
break;
} else if (curgame_dir && (ev.type == KEY_DOWN || ev.type == KEY_UP)
&& !game_input((ev.type == KEY_DOWN), ev.sym)) {
mouse_reset(0);
game_cmd("look");
; /* all is done in game_input */
} else if (((ev.type == KEY_DOWN) || (ev.type == KEY_UP)) &&
(!is_key(&ev, "left alt") || !is_key(&ev, "right alt"))) {
alt_pressed = (ev.type == KEY_DOWN) ? 1:0;

View file

@ -350,19 +350,18 @@ extern void mouse_reset(int hl); /* too bad */
static void instead_timer_do(void *data)
{
int b;
char *p;
if (game_paused())
return;
if (instead_eval("return stead.timer()")) {
instead_clear();
return;
}
b = instead_bretval(0);
instead_clear();
if (!b)
p = instead_retval(0); instead_clear();
if (!p)
return;
mouse_reset(0);
game_cmd("look");
game_cmd(p); free(p);
}
static int instead_fn(int interval, void *p)