diff options
Diffstat (limited to 'LuaSL')
-rw-r--r-- | LuaSL/README | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/LuaSL/README b/LuaSL/README index c019fb7..7eb9ce0 100644 --- a/LuaSL/README +++ b/LuaSL/README | |||
@@ -7,7 +7,9 @@ client side scripting engine. | |||
7 | 7 | ||
8 | To compile this, you will need Enlightenment Foundation Libraries (EFL) | 8 | To compile this, you will need Enlightenment Foundation Libraries (EFL) |
9 | installed in either /opt/e17 or /usr. These are typical places it get's | 9 | installed in either /opt/e17 or /usr. These are typical places it get's |
10 | installed in. | 10 | installed in. You will also need flex. The rest of the dependencies |
11 | are in the ../libraries directory, including the source code for the | ||
12 | version of EFL this is tested with. | ||
11 | 13 | ||
12 | 14 | ||
13 | Design. | 15 | Design. |
@@ -24,9 +26,9 @@ A parser parses an LSL script, validating it and reporting errors. | |||
24 | A preprocessor takes the result of the parse, and converts it into Lua | 26 | A preprocessor takes the result of the parse, and converts it into Lua |
25 | source. Each LSL script becomes a Lua state. LSL states are handled as | 27 | source. Each LSL script becomes a Lua state. LSL states are handled as |
26 | Lua tables, with each LSL state function being a table function in a | 28 | Lua tables, with each LSL state function being a table function in a |
27 | common metatable. LL and OS functions are likely to be C functions. | 29 | common metatable. LL and OS functions are likely to be C or Lua |
28 | Careful testing should be done with LuaJIT FFI, sandboxing, and | 30 | functions. Careful testing should be done with LuaJIT FFI, sandboxing, |
29 | performance testing. | 31 | and performance testing. |
30 | 32 | ||
31 | The Lua source is compiled by the Lua compiler. | 33 | The Lua source is compiled by the Lua compiler. |
32 | 34 | ||
@@ -40,6 +42,13 @@ commands invoke LSL events via the LuaSL state metatable. LL and OS | |||
40 | functions that impact the world will be converted to nails commands sent | 42 | functions that impact the world will be converted to nails commands sent |
41 | to the command pump. | 43 | to the command pump. |
42 | 44 | ||
45 | Initialy, since this is the first thing being written, a nails command | ||
46 | pump client needs to be installed into OpenSim's C# stuff. Though it | ||
47 | might be possible to talk directly to ROBUST instead. Think I'll try | ||
48 | the ROBUST route, see hov far I can get. That's the general principle | ||
49 | applying in all of this - try to avoid C# and see how for we can get. | ||
50 | lol | ||
51 | |||
43 | A watchdog thread is used to make sure no LuaSL script spends forever | 52 | A watchdog thread is used to make sure no LuaSL script spends forever |
44 | processing any event. | 53 | processing any event. |
45 | 54 | ||
@@ -57,11 +66,15 @@ buttons for triggering LSL events, SL style dialogs, and other goodies. | |||
57 | The initial goal will be to run standard MLP scripts. They have minimal | 66 | The initial goal will be to run standard MLP scripts. They have minimal |
58 | interface to the world, and exercise quite a bit of the rest of LSL. | 67 | interface to the world, and exercise quite a bit of the rest of LSL. |
59 | They are also quite common, and sometimes responsible for a lot of the | 68 | They are also quite common, and sometimes responsible for a lot of the |
60 | script running load. Gotta start somewhere, so start with the ~run | 69 | script running load. |
61 | script. | 70 | |
71 | Later I should add stock standard OpenCollar scripts from SL. They are | ||
72 | a bitch to get working under OpenSim, so would be good compatability | ||
73 | tests. | ||
62 | 74 | ||
63 | Various eina logging domains will be used to handle whisper, say, shout, | 75 | Various eina logging domains will be used to handle whisper, say, shout, |
64 | etc. | 76 | etc. |
65 | 77 | ||
66 | Performance testing will have to be done on 5000 scripts, to see how | 78 | Performance testing will have to be done on 5000 scripts, to see how |
67 | that compares against XEngine. | 79 | that compares against XEngine. |
80 | |||