![]() ![]() When InWorldz chose to attack this problem about a year ago, they chose a completely different path. That was a lot of work and I’m sure when they started, they probably weren’t really sure to what degree their success would be. ![]() (I’m not aware of how extensive or localized the changes were from the standard tree.) It was a lot of hard work, but they eventually provided the hooks in MONO that they needed to pause running code (MONO scripts compile to native code), and to serialize the data into a stream that could them be fed to the next region, deserialized, and reapplied to a copy of the object on the other region. Which then effectively meant they were running their own variant of MONO. So Linden Lab developers effectively had to become MONO developers, and provide significant hacks, er, I mean extensions, to the MONO project. When Linden Lab implemented this before any of the alternative grids, there was no ability to get this execution context from the third-party runtime environment (MONO). InWorldz achieved this continuation of scripts with the introduction of the Phlox script engine last summer, but it was not possible in OpenSim until now. ![]() For example, before this, in OpenSim, scripts were restarted (from their beginning, losing their current context) after a TP or region crossing. All the active data, the current state of the script’s execution contents, must be restore and continued from where it left off. So it’s just not a matter of re-rezzing a new copy of the same thing on another region it must restore a copy of that object with the scripts running in the same context as they were when the object hit the region border. They need to be able to stop scripts running in one virtual runtime, transmit them to another region, and load them in an object on that region, and not restart the scripts, but rather continue them from where they left off. But during a region hand-off, they need complete control. NET/ MONO runtime environment, they forego the ability to control scripts very closely, since the runtime environment was developed by a third party. The explanation is a bit long my apologies. It’s about transitioning a running script (in anything) from one region to another. ![]() But it’s not really anything to do with physics, or vehicles. It’s a very significant thing, and was in also a big accomplishment by Linden Lab when they provided this for MONO scripts in Second Life. No, to the best of my knowledge, all OpenSim grids have lacked this ability until now, unless you include InWorldz. I started to post a reply there, but after seeing the length, I did not want to hijack that blog posting in any way. Are there really Open Sims that -lack- this ability? I’d just assumed this was as standard as the ability to rez-in your own avatar… (ie: logging in). ![]()
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |