diff --git a/src/sdl-instead/game.c b/src/sdl-instead/game.c index 0f22c84..d25d903 100644 --- a/src/sdl-instead/game.c +++ b/src/sdl-instead/game.c @@ -1882,9 +1882,13 @@ int game_loop(void) game_menu(menu_askquit); } else if (!alt_pressed && (!is_key(&ev, "return") || !is_key(&ev, "enter"))) { gfx_cursor(&x, &y, NULL, NULL); + game_highlight(-1, -1, 0); /* reset */ + game_click(x, y, 0); - game_highlight(x, y, 1); - game_highlight(-1, -1, 0); + + game_highlight(x, y, 1); /* hl on/off */ + game_highlight(x, y, 0); + if (game_click(x, y, 1) == -1) break; } else if (!is_key(&ev, "escape")) { diff --git a/stead/stead.lua b/stead/stead.lua index 9a4617e..6dc0ddd 100644 --- a/stead/stead.lua +++ b/stead/stead.lua @@ -1069,16 +1069,17 @@ function game_life(self) local i,o local av,v - for i,o in ipairs(self.lifes) do + for i,o in opairs(self.lifes) do local vv local pre - o = ref(o); - vv,pre = call(o,'life'); - if not pre then - v = par(' ',v, vv); - else - av = par(' ', av, vv); + if not isDisabled(o) then + vv,pre = call(o,'life'); + if not pre then + v = par(' ',v, vv); + else + av = par(' ', av, vv); + end end end return v, av;