From 83d700355322ca03dddb223dfe0414b05129c3d5 Mon Sep 17 00:00:00 2001 From: David Walter Seikel Date: Sat, 23 Jan 2016 14:50:26 +1000 Subject: I should start writing actual event system code soon. Here's more notes about that. --- TODO | 28 +++++++++++++++++++++------- 1 file changed, 21 insertions(+), 7 deletions(-) (limited to 'TODO') 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? script state get / set Communication - say(key source, vector location, integer timestamp, text message, string filter, ...) + world.say(key source, vector location, integer timestamp, text message, string filter, ...) Source is the key of the avatar / object / script saying things. Location is the location of that source in world at the time of the timestamp. Though in the case of IMs, avatar might not be in world at the time. @@ -155,7 +155,7 @@ Communication listen(string filter, string text, integer flags) filter - ,,, In this case, isn't actually needed by any LSL function, but I include it for completeness sake. - means don't listen to yourself, which is usually what you get in LSL, but I'm leaving that option open. + means do listen to yourself, which is usually not what you get in LSL, but I'm leaving that option open. text - a string to match, might be a regex flags - include the regex flags from the OS version The last two arguments are optional. Flags is itself optional if text is there, defaulting to "not a regex". @@ -164,6 +164,8 @@ Communication This includes llDialog() and llTextBox(). 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. + events.say(key source, vector location, integer timestamp, text message, string filter, ...) + 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. These are entirely internal to LuaSL though. @@ -178,12 +180,12 @@ Soooo, every one sends their say() commands to love. Love decides who to send l May need to start name spacing Lua stuff. scripts.compile(), scripts.run(), scripts.reset() scripts.listen() which would include avatar's clients registering via purkle pretending to be a Lua script, - world.say() + world.say(), events.say() The only place where there is any ambiguity is LuaSL. -Purkle accepts event.say() from love, LSLGuiMess sends world.say() to love. -Love routes world.say()'s around, even back to the source if needed, sending them as event.say(). -LuaSL sends world.say() to love. LuaSL accepts event.say() from love for scripts. +Purkle accepts events.say() from love, LSLGuiMess sends world.say() to love. +Love routes world.say()'s around, even back to the source if needed, sending them as events.say(). +LuaSL sends world.say() to love. LuaSL accepts events.say() from love for scripts. When a say() comes in, it's executed, which triggers the say() that sends to love. OOPS!!!! world.say() -> events.say() @@ -206,9 +208,21 @@ More generic event system? Sensor and no_sensor might be common, but you request those, your silly fault, they have filters though. llSensor(string name, string id, integer type, float range, float arc) llSensorRepeat(string name, string id, integer type, float range, float arc, float rate) - Event types can have filters? Events can be types? In otherwords, generic filter system, attach say filters to say events, etc. + Event types can have filters? Events can be types? In otherwords, generic filter system, attach say filters to say type events, etc. Figure this all out as we go along. + LuaSL + events.* each scripts state has a bunch of these, incoming events from love, get sent to the currentstates event functions. + world.* used to send commands to love. + love + events.* used to send events to scripts, and viewers. + world.* the real world object. + extantz + events.* used to get events from scripts and other viewers, via love. + world.* used to send commands to love. + + + LuaSL crashes ----------------- -- cgit v1.1