<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:arial,helvetica,sans-serif;font-size:12pt"><div style="font-family: arial,helvetica,sans-serif; font-size: 12pt;">Dear Kr:<br><br>The key issue seems to be that the file LSL_BuiltIn_Commands.cs contained all our C# subroutine implementations for the 328 LSL commands. Now that file has been copied and morphed.<br><br>So, my suggestion is to take the common parts of the existing file, and the copied and morphed file and put them into a third file. That third file might be LSL_Api.cs.<br><br>In any case, it seems to me that whatever unique parts are appropriate for the new scriptengine implementation and unique parts for the existing script engine implementation then reference the namespace of the common file, whatever we wish to call it.<br><br>In the common file are all the things like llSay(), llCeil(), llFloor() that just are wrappers around C#
 subroutines. In fact, 85% of the original LSL_BuiltIn_Commands.cs and the new, copied file are identical.<br><br>So, I would say, lets have an interface, or a derived class, or whatever you feel comfortable with and just move forward. <br><br>The most important thing to me in this whole controversy right now is to not have two identical copies of hundreds of little subroutines.<br><br>Charles<br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: krtaylor <krtaylor@linux.vnet.ibm.com><br>To: opensim-dev@lists.berlios.de<br>Sent: Tuesday, July 1, 2008 2:48:26 PM<br>Subject: [Opensim-dev] Changes needed to DotNet engine to make use of shared LSL and OSSL<br><br>
<br>As per the discussion on irc earlier today, I agreed to summarize the <br>plans to move forward with separating LSL from the current DotNet <br>engine, to make use of the shared structures proposed with the new <br>xengine. This isn't complete by any means, but meant to start an email <br>discussion.<br><br>The current DotNetEngine needs to be changed to make it able to process <br>events and share LSL and other languages via API files:<br><br>1. Use the IScriptEngine and IScript interfaces to support a per <br>instance object in the ScriptManager<br>- changes to refactor IScript using the AppDomainObject (IScript) from <br>Shared and to rescope the existing IScript to IScriptInstance and move <br>outside AppDomain<br><br>2.Use  EventParams and DetectParams<br><br>I have been toying with the idea of either patching the DotNet engine or <br>just porting the DotNet enhanced functionality to a XEngine clone for a <br>new DotNet base. Since we are
 already proposing isolating the languages <br>there is certain advantages to the later. The former would leave some <br>problems to fix, which have already been resolved in the XEngine. Either <br>way, I think a fork to a 3rd engine would be the best approach. This <br>would allow others to get involved, and retain both engines as they are <br>today, and not break everyone all  by simply having a 3rd engine for a <br>while.<br><br>Comments?<br><br>-- <br>Kurt R Taylor (Kurt Stringer)<br><br>Open Virtual Worlds Development<br><a href="http://opensimulator.org" target="_blank">http://opensimulator.org</a>   <a href="http://opensim.ibm.com" target="_blank">http://opensim.ibm.com</a><br>International Business Machines, Corp.<br>(512) 838-2496    T/L:  678<br><br><br>_______________________________________________<br>Opensim-dev mailing list<br><a ymailto="mailto:Opensim-dev@lists.berlios.de"
 href="mailto:Opensim-dev@lists.berlios.de">Opensim-dev@lists.berlios.de</a><br><a href="https://lists.berlios.de/mailman/listinfo/opensim-dev" target="_blank">https://lists.berlios.de/mailman/listinfo/opensim-dev</a><br></div></div></div></body></html>