diff options
Diffstat (limited to 'LuaSL/src')
-rw-r--r-- | LuaSL/src/LSL.lua | 5 | ||||
-rw-r--r-- | LuaSL/src/LuaSL_test.c | 13 |
2 files changed, 14 insertions, 4 deletions
diff --git a/LuaSL/src/LSL.lua b/LuaSL/src/LSL.lua index 676f4ad..ea16285 100644 --- a/LuaSL/src/LSL.lua +++ b/LuaSL/src/LSL.lua | |||
@@ -32,7 +32,6 @@ local paused = false | |||
32 | 32 | ||
33 | -- Stuff called from the wire protocol has to be global, but I think this means just global to this file. | 33 | -- Stuff called from the wire protocol has to be global, but I think this means just global to this file. |
34 | function stop() paused = true end | 34 | function stop() paused = true end |
35 | function result(...) return {...} end | ||
36 | function quit() running = false end | 35 | function quit() running = false end |
37 | 36 | ||
38 | 37 | ||
@@ -112,10 +111,10 @@ function mt.callAndWait(name, ...) | |||
112 | 111 | ||
113 | mt.callAndReturn(name, ...); | 112 | mt.callAndReturn(name, ...); |
114 | -- Eventually a sendForth() is called, which should end up passing through SendToChannel(). | 113 | -- Eventually a sendForth() is called, which should end up passing through SendToChannel(). |
115 | -- Wait for the result, which should be something like - result({x=0.45, y=0.6, z=1.8}) | 114 | -- Wait for the result, which should be a Lua value as a string. |
116 | local message = luaproc.receive(SID) | 115 | local message = luaproc.receive(SID) |
117 | if message then | 116 | if message then |
118 | result, errorMsg = loadstring(message) -- "The environment of the returned function is the global environment." Though normally, a function inherits it's environment from the function creating it. Which is what we want. lol | 117 | result, errorMsg = loadstring("return " .. message) -- "The environment of the returned function is the global environment." Though normally, a function inherits it's environment from the function creating it. Which is what we want. lol |
119 | if nil == result then | 118 | if nil == result then |
120 | msg("Not a valid result: " .. message .. " ERROR MESSAGE: " .. errorMsg) | 119 | msg("Not a valid result: " .. message .. " ERROR MESSAGE: " .. errorMsg) |
121 | else | 120 | else |
diff --git a/LuaSL/src/LuaSL_test.c b/LuaSL/src/LuaSL_test.c index 0f07704..55196cb 100644 --- a/LuaSL/src/LuaSL_test.c +++ b/LuaSL/src/LuaSL_test.c | |||
@@ -224,7 +224,18 @@ static Eina_Bool _data(void *data, int type __UNUSED__, Ecore_Con_Event_Server_D | |||
224 | sendForth(game, SID, "run()"); | 224 | sendForth(game, SID, "run()"); |
225 | } | 225 | } |
226 | else | 226 | else |
227 | PI("Command %s from script %s", command, SID); | 227 | { |
228 | if (0 == strcmp(command, "llGetKey()")) // Send back a random UUID for testing. | ||
229 | sendForth(game, SID, "\"%08lx-%04lx-%04lx-%04lx-%012lx\"", random(), random() % 0xFFFF, random() % 0xFFFF, random() % 0xFFFF, random()); | ||
230 | else if (0 == strcmp(command, "llGetPos()")) // Send back a fixed position for testing. | ||
231 | sendForth(game, SID, "{x=128.0, y=128.0, z=128.0}"); | ||
232 | else if (0 == strcmp(command, "llGetRot()")) // Send back a fixed rotation for testing. | ||
233 | sendForth(game, SID, "{x=0.0, y=0.0, z=0.0, s=1.0}"); | ||
234 | else if (0 == strcmp(command, "llGetObjectDesc()")) // Send back a blank description for testing. | ||
235 | sendForth(game, SID, "\"\""); | ||
236 | else | ||
237 | PI("Command %s from script %s", command, SID); | ||
238 | } | ||
228 | } | 239 | } |
229 | 240 | ||
230 | // Get the next blob to check it. | 241 | // Get the next blob to check it. |