diff options
author | David Walter Seikel | 2016-01-23 14:50:26 +1000 |
---|---|---|
committer | David Walter Seikel | 2016-01-23 14:50:26 +1000 |
commit | 83d700355322ca03dddb223dfe0414b05129c3d5 (patch) | |
tree | 5f22ce85c65e4afa4f87a55abd81c6f80f159f0a /TODO | |
parent | Might actually be getting to a design here. B-) (diff) | |
download | SledjHamr-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.
Diffstat (limited to 'TODO')
-rw-r--r-- | TODO | 28 |
1 files changed, 21 insertions, 7 deletions
@@ -134,7 +134,7 @@ What does this internal Lua look like? | |||
134 | script state get / set | 134 | script state get / set |
135 | 135 | ||
136 | Communication | 136 | Communication |
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 | ||
179 | May need to start name spacing Lua stuff. | 181 | May 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 | ||
183 | The only place where there is any ambiguity is LuaSL. | 185 | The only place where there is any ambiguity is LuaSL. |
184 | Purkle accepts event.say() from love, LSLGuiMess sends world.say() to love. | 186 | Purkle accepts events.say() from love, LSLGuiMess sends world.say() to love. |
185 | Love routes world.say()'s around, even back to the source if needed, sending them as event.say(). | 187 | Love routes world.say()'s around, even back to the source if needed, sending them as events.say(). |
186 | LuaSL sends world.say() to love. LuaSL accepts event.say() from love for scripts. | 188 | LuaSL 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 | ||