summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorKelly Rauchenberger <fefferburbia@gmail.com>2021-02-26 19:12:45 -0500
committerKelly Rauchenberger <fefferburbia@gmail.com>2021-02-26 19:12:45 -0500
commite644f5c0d769989bd3b0665312c6949d76f5e388 (patch)
tree7a9c448267e80f73da7b8bf20c228081932618be
parentc304defdd7b0c5a8bea83f2540c009ededd450cb (diff)
downloadtanetane-e644f5c0d769989bd3b0665312c6949d76f5e388.tar.gz
tanetane-e644f5c0d769989bd3b0665312c6949d76f5e388.tar.bz2
tanetane-e644f5c0d769989bd3b0665312c6949d76f5e388.zip
Exposed loadMapScripts to scripting engine
This allows common functions to be stored in not per-map script files. Which is useful for code that we're going to want in a lot of places -- i.e. how every underwater map is going to have a copy of the same exit area function.
-rw-r--r--res/scripts/underwater.lua6
-rw-r--r--res/scripts/underwater_start.lua5
-rw-r--r--src/script_system.cpp6
3 files changed, 14 insertions, 3 deletions
diff --git a/res/scripts/underwater.lua b/res/scripts/underwater.lua index 8e1ae1a..0b62ff5 100644 --- a/res/scripts/underwater.lua +++ b/res/scripts/underwater.lua
@@ -1,5 +1,11 @@
1underwater = {} 1underwater = {}
2 2
3function underwater.make_lucas_underwater()
4 PreventCrouching()
5 StartBobbing("lucas")
6 SetAnimationSlowdown("lucas", 2)
7end
8
3function underwater.leave() 9function underwater.leave()
4 AllowCrouching() 10 AllowCrouching()
5 StopBobbing("lucas") 11 StopBobbing("lucas")
diff --git a/res/scripts/underwater_start.lua b/res/scripts/underwater_start.lua index 0852885..56b0b5e 100644 --- a/res/scripts/underwater_start.lua +++ b/res/scripts/underwater_start.lua
@@ -1,9 +1,8 @@
1underwater_start = {} 1underwater_start = {}
2 2
3function underwater_start.init() 3function underwater_start.init()
4 PreventCrouching() 4 loadMapScripts("underwater")
5 StartBobbing("lucas") 5 underwater.make_lucas_underwater()
6 SetAnimationSlowdown("lucas", 2)
7end 6end
8 7
9function underwater_start.talk_to_fish1() 8function underwater_start.talk_to_fish1()
diff --git a/src/script_system.cpp b/src/script_system.cpp index 18a4e39..1846de2 100644 --- a/src/script_system.cpp +++ b/src/script_system.cpp
@@ -201,6 +201,12 @@ ScriptSystem::ScriptSystem(Game& game) : game_(game) {
201 return std::bernoulli_distribution(p)(game_.getRng()); 201 return std::bernoulli_distribution(p)(game_.getRng());
202 }); 202 });
203 203
204 engine_.set_function(
205 "loadMapScripts",
206 [&] (std::string filename) {
207 loadMapScripts(filename);
208 });
209
204 engine_.script_file("../res/scripts/common.lua"); 210 engine_.script_file("../res/scripts/common.lua");
205} 211}
206 212