[Opensim-dev] Harvesting code from forks of Opensim
Mister Blue
misterblue at misterblue.com
Sat May 30 14:44:57 UTC 2015
If adding functions to XEngine, look at the file ExtendedPhysics.cs for an
example of using C# decorations to add functions and constants to XEngine.
That module, when enabled, adds a bunch of "phys*" functions to the
scripting language for the region. So code like:
[ScriptConstant]
public const int PHYS_LINKSET_TYPE_CONSTRAINT = 0;
[ScriptConstant]
public const int PHYS_LINKSET_TYPE_COMPOUND = 1;
[ScriptConstant]
public const int PHYS_LINKSET_TYPE_MANUAL = 2;
[ScriptInvocation]
public int physSetLinksetType(UUID hostID, UUID scriptID, int
linksetType)
{
int ret = -1;
if (!Enabled)
return ret;
...
creates the LSL function:
integer previousType =
physSetLinksetType(PHYS_LINKSET_TYPE_COMPOUNT);
The extension mechanism exists to easily extend the scripting language
using new code modules.
On Wed, May 27, 2015 at 11:41 AM, Fly Man <fly.man.opensim at gmail.com> wrote:
> Well, feel free to share that incomplete list with us so people know which
> functions you're looking at.
>
> And yes, AuroraSim's LSL_Api.cs list is a lot shorter then the one in
> WhiteCore because of the recent changes we made to LSL functions.
>
> That's why I am kinda amazed that you found "old" LSL functions that
> aren't in OpenSim yet or not implemented.
>
> 2015-05-27 17:53 GMT+02:00 W Smith <wanderingcodesmith at yahoo.co.uk>:
>
>> Fly Man
>>
>> I only have a probably incomplete list of LSL functions (25 at them
>> moment) that are missing from OpenSim. I have no idea how many have been
>> implemented in Aurora. The only one I looked at in Aurora so far were the
>> LL json functions, the first on my list.
>>
>> You appear to be wrong about needing AA* functions, the code for the LL
>> Json functions that I got from aurora sim was not from and contained no
>> references to any AA* functions. You may have an older version or perhaps a
>> more recent from WhiteCore I have not looked there, I only found out
>> WhiteCore existed yesterday.
>> I got a copy from https://github.com/aurora-sim/Aurora-Sim a week or so
>> ago.
>> See
>> https://github.com/aurora-sim/Aurora-Sim/blob/master/Aurora/AuroraDotNetEngine/APIs/LSL_Api.cs
>> for their implentation.
>>
>> The code from Aurora sim compiled in OpenSim merely by adding "using
>> OpenMetaverse.StructuredData;". No other libraries were added by me, I am
>> just using the OSD library supplied from the OpensSim git repository.
>>
>> The Aurora implementation is plain wrong, its results differ from those
>> of SL LSL, it requires a number of changes to correct the outputs. Also
>> changes to cope with OpenSim allowing native c# data types to be added to
>> an lsl_list, lots of defensive type checking required to avoid casting
>> errors.
>>
>> My original intention was to work down my list of functions and submit
>> either a patch with an implementation or failing that a patch with the
>> "plumbing" and a "not implemented" implementation in LSL_Api
>>
>> Regards Talun
>>
>> --------------------------------------------
>> On Wed, 27/5/15, Fly Man <fly.man.opensim at gmail.com> wrote:
>>
>> Subject: Re: [Opensim-dev] Harvesting code from forks of Opensim
>> To: opensim-dev at opensimulator.org
>> Date: Wednesday, 27 May, 2015, 12:53
>>
>> Talun,
>>
>> Let me quote 2 pieces out of your
>> reply:
>>
>> "First of all I
>> have no interest in extracting anything from the AA*
>> functions or any other part of Aurora-Sim that is not
>> required by LSL
>> functions."
>> If you are
>> able to compile a list of the functions that are missing /
>> lacking in OpenSim and that work in AuroraSim, that would be
>> a great help.
>>
>> But as
>> I mentioned before, some of the functions you see as LSL
>> functions are bound in with the implementations for
>> aaFunctions.
>>
>> As
>> an example, the llJson function you mentioned ties in with
>> the aa function for it, using a different approach to JSON
>> as the LibOMV wasn't upgraded back then. The latest
>> LibOMV has the JSON implementation much easier and better
>> then the one in AuroraSim.
>>
>> "A few parts of the Aurora sim function
>> are usable (general looping
>> structure) as is but most require changes to correct the
>> differences
>> with SLs version."
>>
>> "None will probably be a direct
>> fit to OpenSim but there will be some degree of
>> copy/paste"
>>
>> My personal conclusion: Talun is
>> gonna create a list of the LSL functions that are in
>> AuroraSim which don't exist in OpenSim or are not
>> implemented correctly and he's gonna donate his time to
>> rewrite them all so they can be send in as a patch for
>> OpenSim.
>>
>> That sounds like a
>> good starting point to me
>> 2015-05-27 3:44 GMT+02:00
>> Dahlia Trimble <dahliatrimble at gmail.com>:
>> There is a OSD
>> library which is part of libopenmetaverse. That
>> implementation is
>> compatible with the OpenSimulator license and the JSON
>> implementation in it is
>> fairly robust and used extensively in OpenSimulator.
>> "ll*" functions
>> are usually documented on http://wiki.secondlife.com/wiki/LSL_Portal
>> and
>> that site is generally regarded as the canonical
>> reference.
>> On Tue, May 26, 2015 at
>> 6:33 PM, W Smith <wanderingcodesmith at yahoo.co.uk>
>> wrote:
>> I have no
>> idea how the idea of importing these AA* functions got into
>> this thread my interest is in implementing LSL.
>>
>>
>>
>> I was intending implementing some of the 24+ unimplemented
>> LSL ll* functions that OpenSim lacks. I was going to look
>> for "inspiration and assistance" in doing this in
>> the Aurora sim implementations.
>>
>>
>>
>> None will probably be a direct fit to OpenSim but there will
>> be some degree of copy/paste
>>
>>
>>
>> Talun
>>
>>
>>
>> --------------------------------------------
>>
>> On Wed, 27/5/15, Morgaine <morgaine.dinova at googlemail.com>
>> wrote:
>>
>>
>>
>> Subject: Re: [Opensim-dev] Harvesting code from forks of
>> Opensim
>>
>> To: opensim-dev at opensimulator.org
>>
>> Cc: "Morgaine Dinova" <morgaine.dinova at googlemail.com>
>>
>> Date: Wednesday, 27 May, 2015, 1:28
>>
>>
>>
>> Fly Man writes:
>>
>> > and my
>>
>> -1 was meant to say "Please do not put things that
>> no
>>
>> one knows about in OpenSim"
>>
>>
>>
>> +1 for that
>>
>> -1. :-)
>>
>>
>>
>> Your point applies to all FOSS code of
>>
>> course, not just Opensim. Undocumented or minimally
>>
>> documented code is a liability, not an asset, even if
>>
>> it's a million lines of alleged
>>
>> "awesomeness".
>>
>>
>>
>> The D/C ratio is not a perfect metric,
>>
>> but when it's near zero then you know that there's
>> a
>>
>> problem.
>>
>>
>>
>>
>>
>> On Wed, May 27, 2015 at
>>
>> 1:18 AM, Fly Man <fly.man.opensim at gmail.com>
>>
>> wrote:
>>
>> Let me answer most
>>
>> questions that have been shooting up in my personal
>> mailbox
>>
>> which have to do with Opensim as a project.
>>
>>
>>
>> I'll start with
>>
>> perhaps the most easy part of the discussion:
>> AuroraSim.
>>
>>
>>
>> AuroraSim is a derivated
>>
>> from OpenSim, forked on the 14th of October 2010 after
>> Rev
>>
>> (RevolutionSmythe) decided that Opensim wasn't
>> going
>>
>> into the way he personally had seen. He decided to fork
>> the
>>
>> Opensim tree and renamed it to AuroraSim. In the years
>>
>> following he upgraded parts of the source-code and added
>> a
>>
>> set of new functional code parts knows as the
>>
>> aaFunctions.
>>
>>
>>
>> These
>>
>> functions are based on the code that he wrote at that
>> moment
>>
>> for the AuroraSim branch. Remember, this is an OLDER copy
>> of
>>
>> what the current Opensim branch is now. Most of the
>>
>> functions in there won't ever work in Opensim
>> mainly
>>
>> because Opensim does not have these older hooks.
>>
>>
>>
>> In 2013 Rev was done
>>
>> with his education and decided to start working which
>>
>> brought AuroraSim to a slower moving branch and patches
>>
>> weren't applied instantly anymore. The last patch
>> that
>>
>> was applied to the sourcecode was Jan 2014 and the
>> project
>>
>> slowly died.
>>
>>
>>
>> So,
>>
>> currently there's no maintainer of any of the code
>> that
>>
>> was/is in AuroraSim other then what is currently in
>> that
>>
>> GitHub repository.
>>
>>
>>
>> Now here comes the part which Kevin
>>
>> already mentioned: "The fork is called
>>
>> WhiteCore"
>>
>>
>>
>> Indeed, WhiteCore is a fork of
>>
>> AuroraSim after I personally saw what was happening to
>>
>> AuroraSim. I had been watching the slow pace for a
>> longer
>>
>> period of time and already had found 2 other people that
>> had
>>
>> the same "issue". So in December 2013
>> AuroraSim
>>
>> was forked and re-based as WhiteCoreSim.
>>
>>
>>
>> Currently in development with 2
>>
>> other developers, I am 1 of the 3 lead developers that
>>
>> actively maintain that "fork" although
>> it's
>>
>> not even close to what the endgoal for it will be.
>>
>>
>>
>> 1 thing that we
>>
>> broke "on purpose" when we changed the name is
>> the
>>
>> aaFunctions because only Rev knows exactly how they are
>>
>> meant to work. At the moment there's no other person
>> who
>>
>> knows what exactly the functions are meant to do other
>> then
>>
>> a better way to have NPC's spawn and some basic
>>
>> functions that mimic the osFunctions.
>>
>>
>>
>> Conclusion: There's no developer
>>
>> at the moment that can look into Rev's head from a
>>
>> distance and ask him how the functions are meant to work
>> (if
>>
>> they still work at all) and my -1 was meant to say
>>
>> "Please do not put things that no one knows about
>> in
>>
>> OpenSim"
>>
>>
>>
>>
>>
>>
>>
>> 2015-05-27 1:58 GMT+02:00
>>
>> Dahlia Trimble <dahliatrimble at gmail.com>:
>>
>> Just to clarify on
>>
>> the slight chance it was missed, I wasn't
>> suggesting
>>
>> anyone "fork off" in any sense of the term.
>> Many
>>
>> forks, both public and private, already exist and I
>> suspect
>>
>> more will come about. My hope is that the community
>> will
>>
>> survuve and even thrive beyond any code fork.
>>
>>
>>
>> On Tue,
>>
>> May 26, 2015 at 4:22 PM, Morgaine <morgaine.dinova at googlemail.com>
>>
>> wrote:
>>
>> Dahlia writes:
>>
>> >
>>
>> I'd like to see disagreement and forks as a means
>> to
>>
>> drive innovation rather than conflict.
>>
>>
>>
>> More often than not,
>>
>> real project forking into separate projects (not just
>>
>> forking in the github sense) implies an inability or lack
>> of
>>
>> desire to find a meeting of minds with technical peers.
>>
>>
>>
>> If requirements are
>>
>> dramatically different then project forking can be a
>> very
>>
>> reasonable way forward, and to the benefit of
>> everybody.
>>
>> But if the requirements are really quite similar then
>>
>> forking is more likely an indication of inflexibility
>> and
>>
>> intransigence by one or both parties. The communal
>>
>> engineering process has probably failed.
>>
>>
>>
>> This is a
>>
>> technical project, so it's inherently different to
>>
>> discussing the merits of cat pictures -- discussions can
>> be
>>
>> objective. A rationally presented suggestion or even
>> a
>>
>> strong criticism presented in good faith is not a reason
>> for
>>
>> telling people to fork off. If that is the response
>> then
>>
>> it's a sign of extreme project ill health.
>>
>>
>>
>> Negative feedback
>>
>> is intrinsic to good engineering, and all good
>> engineers
>>
>> embrace it. That's not theoretical. Without it
>> a
>>
>> project's direction would never change to take into
>>
>> consideration the bitter lessons of experience.
>>
>>
>>
>> Morgaine.
>>
>>
>>
>>
>>
>> On Tue, May 26, 2015 at
>>
>> 11:35 PM, Dahlia Trimble <dahliatrimble at gmail.com>
>>
>> wrote:
>>
>> Apparently there is still a fair bit of passion
>>
>> about this platform and I prefer to see this in a
>> manner
>>
>> where people can use the code in a way they see fit and
>> to
>>
>> (hopefully) contribute back something or pay it forward
>> in
>>
>> other ways as appropriate. I'm not opposed to forks
>> but
>>
>> I'd hope civil discourse can be maintained even
>> through
>>
>> the times when much disagreement looms. I would hope
>> that
>>
>> various forks and branches could benefit from each other
>> and
>>
>> the community as a whole can thereby benefit. I'd
>> like
>>
>> to see disagreement and forks as a means to drive
>> innovation
>>
>> rather than conflict.
>>
>>
>>
>> On Tue, May 26, 2015 at
>>
>> 2:14 PM, Morgaine <morgaine.dinova at googlemail.com>
>>
>> wrote:
>>
>> Good data, thanks Cinder. It doesn't
>>
>> look like death to me.
>>
>>
>>
>> You clearly have some elite query-foo
>>
>> skills, can you generate a historical list of commits
>> per
>>
>> month and per year? This is a very strong way of
>> debunking
>>
>> allegations of death! :P
>>
>>
>>
>>
>>
>> On Tue, May 26,
>>
>> 2015 at 10:05 PM, Cinder Roxley <cinder at alchemyviewer.org>
>>
>> wrote:
>>
>> On May 26, 2015 at 2:59:54
>>
>> PM, Morgaine (morgaine.dinova at googlemail.com)
>>
>> wrote: I'm just an observer
>>
>> on this project, albeit a very long term one, dating back
>> to
>>
>> near the beginning. One thing that long-term observers
>> are
>>
>> well qualified to do is to confirm or to deny the
>> veracity
>>
>> of allegations of long-term trends.
>>
>>
>>
>> Mike Chase's allegation that
>>
>>
>>
>> "OpenSim is slowly dieing
>>
>> (IMO) from neglect"
>>
>>
>>
>> is clearly unfounded since commits show
>>
>> no sign of stopping. I haven't checked the rate
>> of
>>
>> commits so perhaps Mike has more information in this
>>
>> regard. I welcome better
>>
>> information.https://www.openhub.net/p/opensimulator/commits/summary--
>>
>> Cinder
>>
>> Roxley
>>
>> Sent
>>
>> with Airmail
>>
>> _______________________________________________
>>
>>
>>
>> Opensim-dev mailing list
>>
>>
>>
>> Opensim-dev at opensimulator.org
>>
>>
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>>
>>
>> Opensim-dev mailing list
>>
>>
>>
>> Opensim-dev at opensimulator.org
>>
>>
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>>
>>
>> Opensim-dev mailing list
>>
>>
>>
>> Opensim-dev at opensimulator.org
>>
>>
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>>
>>
>> Opensim-dev mailing list
>>
>>
>>
>> Opensim-dev at opensimulator.org
>>
>>
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>>
>>
>> Opensim-dev mailing list
>>
>>
>>
>> Opensim-dev at opensimulator.org
>>
>>
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>>
>>
>>
>> Opensim-dev mailing list
>>
>>
>>
>> Opensim-dev at opensimulator.org
>>
>>
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> -----Inline Attachment Follows-----
>>
>>
>>
>> _______________________________________________
>>
>> Opensim-dev mailing list
>>
>> Opensim-dev at opensimulator.org
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>> _______________________________________________
>>
>> Opensim-dev mailing list
>>
>> Opensim-dev at opensimulator.org
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>> _______________________________________________
>>
>> Opensim-dev mailing list
>>
>> Opensim-dev at opensimulator.org
>>
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>>
>>
>>
>> -----Inline Attachment Follows-----
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at opensimulator.org
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>> _______________________________________________
>> Opensim-dev mailing list
>> Opensim-dev at opensimulator.org
>> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>>
>
>
> _______________________________________________
> Opensim-dev mailing list
> Opensim-dev at opensimulator.org
> http://opensimulator.org/cgi-bin/mailman/listinfo/opensim-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://opensimulator.org/pipermail/opensim-dev/attachments/20150530/ed953533/attachment-0001.html>
More information about the Opensim-dev
mailing list