aboutsummaryrefslogtreecommitdiffstatshomepage
diff options
context:
space:
mode:
authorDavid Walter Seikel2016-01-23 14:50:26 +1000
committerDavid Walter Seikel2016-01-23 14:50:26 +1000
commit83d700355322ca03dddb223dfe0414b05129c3d5 (patch)
tree5f22ce85c65e4afa4f87a55abd81c6f80f159f0a
parentMight actually be getting to a design here. B-) (diff)
downloadSledjHamr-83d700355322ca03dddb223dfe0414b05129c3d5.zip
SledjHamr-83d700355322ca03dddb223dfe0414b05129c3d5.tar.gz
SledjHamr-83d700355322ca03dddb223dfe0414b05129c3d5.tar.bz2
SledjHamr-83d700355322ca03dddb223dfe0414b05129c3d5.tar.xz
I should start writing actual event system code soon. Here's more notes about that.
-rw-r--r--TODO28
1 files changed, 21 insertions, 7 deletions
diff --git a/TODO b/TODO
index b74e440..cea1da1 100644
--- a/TODO
+++ b/TODO
@@ -134,7 +134,7 @@ What does this internal Lua look like?
134 script state get / set 134 script state get / set
135 135
136Communication 136Communication
137 say(key source, vector location, integer timestamp, text message, string filter, ...) 137 world.say(key source, vector location, integer timestamp, text message, string filter, ...)
138 Source is the key of the avatar / object / script saying things. 138 Source is the key of the avatar / object / script saying things.
139 Location is the location of that source in world at the time of the timestamp. 139 Location is the location of that source in world at the time of the timestamp.
140 Though in the case of IMs, avatar might not be in world at the time. 140 Though in the case of IMs, avatar might not be in world at the time.
@@ -155,7 +155,7 @@ Communication
155 listen(string filter, string text, integer flags) 155 listen(string filter, string text, integer flags)
156 filter - <Xm>,<key>,<channel>,<self> 156 filter - <Xm>,<key>,<channel>,<self>
157 In this case, <Xm> isn't actually needed by any LSL function, but I include it for completeness sake. 157 In this case, <Xm> isn't actually needed by any LSL function, but I include it for completeness sake.
158 <self> means don't listen to yourself, which is usually what you get in LSL, but I'm leaving that option open. 158 <self> means do listen to yourself, which is usually not what you get in LSL, but I'm leaving that option open.
159 text - a string to match, might be a regex 159 text - a string to match, might be a regex
160 flags - include the regex flags from the OS version 160 flags - include the regex flags from the OS version
161 The last two arguments are optional. Flags is itself optional if text is there, defaulting to "not a regex". 161 The last two arguments are optional. Flags is itself optional if text is there, defaulting to "not a regex".
@@ -164,6 +164,8 @@ Communication
164 This includes llDialog() and llTextBox(). 164 This includes llDialog() and llTextBox().
165 Note that these two are LL specific things, we use skang for the more general case. Though both need client side support, which means love has to pass these things around. 165 Note that these two are LL specific things, we use skang for the more general case. Though both need client side support, which means love has to pass these things around.
166 166
167 events.say(key source, vector location, integer timestamp, text message, string filter, ...)
168
167 Link messages include the number of the link (to or from, depending on which end you are at), a number, a string, and a key. 169 Link messages include the number of the link (to or from, depending on which end you are at), a number, a string, and a key.
168 These are entirely internal to LuaSL though. 170 These are entirely internal to LuaSL though.
169 171
@@ -178,12 +180,12 @@ Soooo, every one sends their say() commands to love. Love decides who to send l
178 180
179May need to start name spacing Lua stuff. 181May need to start name spacing Lua stuff.
180 scripts.compile(), scripts.run(), scripts.reset() scripts.listen() which would include avatar's clients registering via purkle pretending to be a Lua script, 182 scripts.compile(), scripts.run(), scripts.reset() scripts.listen() which would include avatar's clients registering via purkle pretending to be a Lua script,
181 world.say() 183 world.say(), events.say()
182 184
183The only place where there is any ambiguity is LuaSL. 185The only place where there is any ambiguity is LuaSL.
184Purkle accepts event.say() from love, LSLGuiMess sends world.say() to love. 186Purkle accepts events.say() from love, LSLGuiMess sends world.say() to love.
185Love routes world.say()'s around, even back to the source if needed, sending them as event.say(). 187Love routes world.say()'s around, even back to the source if needed, sending them as events.say().
186LuaSL sends world.say() to love. LuaSL accepts event.say() from love for scripts. 188LuaSL sends world.say() to love. LuaSL accepts events.say() from love for scripts.
187 When a say() comes in, it's executed, which triggers the say() that sends to love. OOPS!!!! 189 When a say() comes in, it's executed, which triggers the say() that sends to love. OOPS!!!!
188 world.say() -> events.say() 190 world.say() -> events.say()
189 191
@@ -206,9 +208,21 @@ More generic event system?
206 Sensor and no_sensor might be common, but you request those, your silly fault, they have filters though. 208 Sensor and no_sensor might be common, but you request those, your silly fault, they have filters though.
207 llSensor(string name, string id, integer type, float range, float arc) 209 llSensor(string name, string id, integer type, float range, float arc)
208 llSensorRepeat(string name, string id, integer type, float range, float arc, float rate) 210 llSensorRepeat(string name, string id, integer type, float range, float arc, float rate)
209 Event types can have filters? Events can be types? In otherwords, generic filter system, attach say filters to say events, etc. 211 Event types can have filters? Events can be types? In otherwords, generic filter system, attach say filters to say type events, etc.
210 Figure this all out as we go along. 212 Figure this all out as we go along.
211 213
214 LuaSL
215 events.* each scripts state has a bunch of these, incoming events from love, get sent to the currentstates event functions.
216 world.* used to send commands to love.
217 love
218 events.* used to send events to scripts, and viewers.
219 world.* the real world object.
220 extantz
221 events.* used to get events from scripts and other viewers, via love.
222 world.* used to send commands to love.
223
224
225
212 LuaSL crashes 226 LuaSL crashes
213----------------- 227-----------------
214 228