From e11403b1149ec753cbe38a78fc072044c609c047 Mon Sep 17 00:00:00 2001
From: "p.kosyh"
Date: Thu, 15 Jul 2010 13:42:26 +0000
Subject: [PATCH] player_moved added
---
stead/goto.lua | 4 ++--
stead/stead.lua | 9 +++++++--
2 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/stead/goto.lua b/stead/goto.lua
index 25a8765..2de5c16 100644
--- a/stead/goto.lua
+++ b/stead/goto.lua
@@ -164,9 +164,9 @@ iface.fmt = function(self, cmd, st, moved, r, av, objs, pv) -- st -- changed sta
if st then
av = txtem(av);
pv = txtem(pv);
- if not PLAYER_MOVED then
+-- if not PLAYER_MOVED then
r = txtem(r)
- end
+-- end
if isForcedsc(here()) or NEED_SCENE then
l = here():scene();
end
diff --git a/stead/stead.lua b/stead/stead.lua
index 9cb202a..1dd3424 100644
--- a/stead/stead.lua
+++ b/stead/stead.lua
@@ -1341,7 +1341,7 @@ function game_life(self)
local av,v
stead.in_life_call = true;
stead.lifes_off = list {}; -- lifes to off
- local m = PLAYER_MOVED
+ stead.PLAYER_MOVED = PLAYER_MOVED
for i,o in opairs(self.lifes) do
local vv
local pre
@@ -1356,7 +1356,8 @@ function game_life(self)
end
end
end
- if not PLAYER_MOVED then PLAYER_MOVED = m end
+ if not PLAYER_MOVED then PLAYER_MOVED = stead.PLAYER_MOVED end
+ stead.PLAYER_MOVED = nil
stead.in_life_call = false;
for i,o in ipairs(stead.lifes_off) do
lifeoff(o);
@@ -1365,6 +1366,10 @@ function game_life(self)
return v, av;
end
+function player_moved()
+ return PLAYER_MOVED or stead.PLAYER_MOVED
+end
+
function check_list(k, v, p)
if v.check == nil or not v:check(stead.string.format("%s[%q]", p, k)) then
error ("error in list: "..stead.object..'.'..k);