Ahhh I see. I was referring to commit 5f7e39 made around the beginning
of this year. I must've misunderstood what it meant =)
On 6/29/2012 6:11 PM, Justin Clark-Casey wrote:
Edmund, doing what you describe should be absolutely fine. In fact,
one of my design aims with laying out .oars/.iars in this way was to
allow them to be inspected/constructed/altered by external tools,
though it can still be a pretty tricky operation.
Changing the UUID is necessary since if an asset already exists with
that ID it will be reused. As long as you use a random UUID and
replace all the existing references as you're doing then you should be
fine.
Chris, this is the way it has been done for years. There's no real
errors to police - either an asset uuid already exists and so is
reused or it does not and so is ignored.
On 29/06/12 08:25, Chris wrote:
I believe this is happening due to a semi-recent change to how IARs
handle asset loading. The new way of doing it is to
not overwrite existing assets if the asset to be loaded shares the
same UUID with an asset that already exists in the
database (please correct me on this if I am wrong).
As for manually changing ID's in the IAR itself, I can't attest for
the safeness of doing it that way. But I would
imagine it would be relatively safe provided that the ID's are
changed in all the spots that they are referenced since
the IAR loader should be rejecting duplicate UUID load attempts if
the situation should arise. Opensim devs, please
correct me on this as well if I am incorrect =) I would be curious
myself to know if this is a safe thing to do.
On 6/29/2012 1:43 AM, Edmund Edgar wrote:
I have some situations where I want to export an object as an IAR,
faff with the LSL code, and reimport it.
This is working fine, except that sometimes the UUIDs of the scripts
I've faffed with already exist in OpenSim, resulting in the new
version not being imported.
(I'm pretty sure that's what's happening - I've tried clearing the
viewer cache and deleting stuff under bin/ScriptEngines and so forth.)
To avoid this, I want to change the UUIDs of the scripts I've faffed
with in my IAR every time I make a change to their content. I've tried
this and it seems to work, but I as I don't understand the internals
of this stuff I just wanted to check if there's some important thing
I'm overlooking that will cause death and devastation to rain down on
me and the unlucky people who use my IAR.
Specifically what I do is:
1) Export IAR, untar it.
2) Faff with scripts.
3) For each script that's changed, make a new UUID by taking the md5
sum of the contents, and sticking in some hyphens where they appear to
belong.
4) Rename the <old UUID>_script.lsl under assets/ to use the new UUID.
4) Run sed on anything called ".xml" in the archive to change any
reference to the old UUID to the new UUID.
5) Retar the IAR.
6) Reimport.
This is the script I run to do it:
https://github.com/sloodle/sloodle_development_tools/blob/master/opensim_sync/fixuuid.sh
This seems to be working OK, but can anyone think of anything bad
that's going to happen?
--
OpenSim: 9 Region Standalone on 0.7.4 Dev
Physics: Open Dynamics Engine
OS: Windows 7 (x64)
CPU: AMD Phenom II X4 840 3.2 GHz
Memory: 11 GB DDR3
Database: MySQL 5.1.11
_______________________________________________
Opensim-users mailing list
[email protected]
https://lists.berlios.de/mailman/listinfo/opensim-users