I’m leaving my position in Digital Posters at end of August. In the first period I will be working as an independent consultant for my own company. This will hopefully give me some time to read and work on open source projects.
ScriptEngine has now been implemented! We have a default script that is placed in all objects. We have a “touch_start” event. And we have llSay() with output to server console. Once inventory is working we can bind user made scripts to user made objects. So now we can start implementing all 350+ builtin ll-functions. We will be able… Read More »
Status update LSL->C# Translator is close to complete. Needs bigger/more scripts to bughunt.Compiler is capable of compiling C# to .Net (invokes LSL->C# trans if needed).Script Manager is capable of loading and initializing script .Net Assembly. Missing:LSL BuiltIn command implementation.Event implementation.
OpenSim.Region.ScriptEngine.DotNetEngine.Compiler.LSL.LSL_BaseClass.cs contains a s*load of empty functions. These are all the LSL-functions. And all needs to be implemented. Implement most important/most used first. There is a “World” object available (scene). Example of implementation:
public void llSay(Int channelID, string text)
To compile LSL code I figured the best way would be to first translate it into C#.Since LL will be supporting both LSL and C# we can use the same translator on a web page or similar to help people who know LSL to understand C#.Also it is much simpler for other developers on OpenSim to contribute to… Read More »
After a meeting with Babbage Linden in Zero Lindens office hours on thursday I realized that with the new Mono/.Net compiler they are implementing we will have to make a few adjustments. It was earlier assume that compilation would be done at client of both LSL and LSO, therefore I focused on making a LSO (LSL virtual machine)… Read More »
Application is now able to: Create Script Engine (SE) SE hooks up to a temporary debug event in Test App Test App asks SE to load LSO-file SE compiles LSO-file into .Net Assembly SE loads .Net Assembly SE Initializes the .Net Assembly and hands over a “LSL BultIn Commands” object (this object is the scripts command-object) Script Manager… Read More »
With the model described in the two prior postings we will have simple scripts support up and running fairly quickly. Other developers will be able to extend script support while I continue working on Compiler and ScriptEngine. Both incoming events and outgoing LSL builtin commands needs extending. We will lack script yield inserting. This is where the preparation… Read More »
The builtin commands for SE is simple enough. But incoming events could need some more planning. SE will have a set of events that is fired based on stuff that happens in OpenSim (EventHandler). This EventHandler will translate the event into a LSL-compatible event, including picking up the required parameters. The EventHandler needs to know what object, and… Read More »
The time has come to start implementing script support into OpenSim. ScriptEngine (SE)OpenSim will have an interface for SE. It will load SE dynamically using reflection. SE will be in separate .dll Assembly.During load SE will hook itself up to the necessary events in OpenSim.This includes: Object rez (look for active scripts), object derez and all events relating… Read More »