From 40aed624e5bb14b062f5ecfddee9f8233e3ddd23 Mon Sep 17 00:00:00 2001
From: "p.kosyh"
Date: Wed, 16 Jun 2010 10:09:41 +0000
Subject: [PATCH] check_version is now do require 'goto'
---
stead/goto.lua | 22 ++++++++++------------
stead/stead.lua | 3 +++
2 files changed, 13 insertions(+), 12 deletions(-)
diff --git a/stead/goto.lua b/stead/goto.lua
index 6db491b..bb0fea8 100644
--- a/stead/goto.lua
+++ b/stead/goto.lua
@@ -45,24 +45,23 @@ go = function (self, where, back)
self.where = deref(where);
end
- if not back or not isDialog(ref(self.where)) or isDialog(ref(where)) then
- v, r = call(ref(where), 'enter', deref(was));
- if r == false then
- self.where = was;
- return par('^^', res, v), ret(r)
- end
- need_scene = true;
- if ref(where) ~= ref(self.where) then -- jump !!!
- need_scene = false;
- end
+ v, r = call(ref(where), 'enter', deref(was));
+ if r == false then
+ self.where = was;
+ return par('^^', res, v), ret(r)
end
+
+ need_scene = true;
+ if ref(where) ~= ref(self.where) then -- jump !!!
+ need_scene = false;
+ end
+
res = par('^^',res,v);
if not back then
ref(where).__from__ = deref(was);
end
-
ret()
if not stead.in_goto_call then
@@ -82,7 +81,6 @@ go = function (self, where, back)
res = par('^^',res,v);
end
-
if need_scene then -- or isForcedsc(ref(where)) then -- i'am not sure...
return par('^^',res,ref(where):scene());
end
diff --git a/stead/stead.lua b/stead/stead.lua
index 6d1f50e..b410c7c 100644
--- a/stead/stead.lua
+++ b/stead/stead.lua
@@ -2409,6 +2409,9 @@ function check_version(v)
if stead.version < v then
error ([[The game requires instead engine of version ]] ..v.. [[ or higher. http://instead.googlecode.com]])
end
+ if v >= "1.2.0" then
+ require ("goto")
+ end
end
--- here the game begins