From 5fdb5757b0e474582606b4270a95d6c6d00f20d4 Mon Sep 17 00:00:00 2001
From: "p.kosyh"
Date: Mon, 21 Sep 2009 04:32:18 +0000
Subject: [PATCH] lifes fix + hl in kbd mode fix
---
src/sdl-instead/game.c | 8 ++++++--
stead/stead.lua | 15 ++++++++-------
2 files changed, 14 insertions(+), 9 deletions(-)
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;