• All submissions to this site are governed by Second Life Project Contribution Agreement. By submitting patches and other information using this site, you acknowledge that you have read, understood, and agreed to those terms.
Issue Details (XML | Word | Printable)

Key: VWR-7192
Type: New Feature New Feature
Status: Closed Closed
Resolution: Won't Finish
Priority: Normal Normal
Assignee: Unassigned
Reporter: able whitman
Votes: 58
Watchers: 19
Operations

If you were logged in you would be able to see more operations.
1. Second Life Viewer - VWR

Hack to allow creating arbitrarily-sized prims in the viewer

Created: 12/May/08 09:16 AM   Updated: 18/May/08 11:41 AM
Return to search
Component/s: Building (in-world)
Affects Version/s: Source code, 1.20 Release Candidate, 1.19.1.4
Fix Version/s: None

File Attachments: 1. Text File create_megaprim_120.patch.txt (9 kB)
2. Text File megaprim-create.patch.txt (12 kB)
3. Text File megaprim-create.patch.v2.txt (12 kB)
4. Text File megaprim-create.patch.v3.txt (16 kB)
5. Text File megaprim-create.patch.v4.txt (15 kB)

Image Attachments:

1. screenshot-1.jpg
(129 kB)
Issue Links:
Relates
 

Source Version: 1.19.1.4, 1.20 RC5
Patch attached: Patch attached


 Description  « Hide
Apparently at some time in the recent past, an LL server update re-enabled the ability to create prims with dimensions larger than 10m on a side. There are already lots of new megaprims available, mostly for free (like here on SLExchange: http://slexchange.com/modules.php?name=Marketplace&file=item&ItemID=685589). I'm pretty sure most of these prims have been created using LibSL-derived tools.

I don't know if this new-again ability is intentional or not, although I certainly hope it is because megaprims are incredibly useful. Either way, I wanted to be able to create large prims directly in the viewer. My biggest reason for wanting this ability is so that any builds I produce using these prims will then list me as the creator, instead of the creator of the prims that come from megaprim collections. Being able to create them myself also gives me the flexibility to have large prims in whatever size I need, regardless of whether someone thought to create one in advance or not.

This patch implements more of a hack than a feature, for the following reasons:
1. Prims with dimensions greater than 10m can only be created, not resized.
2. As above, I'm not sure if the ability to create these large prims is intentional or not
3. The patch, as it stands, isn't as good or as polished as I'd like for a JIRA submission
4. The creation and handling of large prims in the viewer is quirky

With regards to "quirky", these large prims are subject to a couple of constraints:
a. Prims with dimensions greater than 10m can only be created, they cannot be resized again later
b. Attempts to resize any dimension of a large prim results in all dimensions of the prim being re-clamped to a 10m maximum

The patch itself is actually fairly straightforward. Part of the patch simply enables the Build tools to display and edit scale values larger than 10.0.

Since large prims can only be oversized at the point of their creation, I've replaced the viewer's hard-coded new prim size of <0.5, 0.5, 0.5> with configurable settings. Then I've exposed these settings on the Create tool panel of the Build tools floater.

Put together, these changes make it pretty simple (albeit rather awkward) to create prims of whatever dimensions you'd like.



 All   Comments   Change History      Sort Order: Ascending order - Click to sort in descending order
able whitman added a comment - 12/May/08 09:17 AM
I've attached my patch (which is against 1.19.1.4, the most recent official release viewer).

able whitman made changes - 12/May/08 09:17 AM
Field Original Value New Value
Attachment megaprim-create.patch.txt [ 16693 ]
able whitman added a comment - 12/May/08 09:20 AM
Attaching a screenshot showing the patch in action (in the 1.19 viewer)

able whitman made changes - 12/May/08 09:20 AM
Attachment screenshot-1.jpg [ 16694 ]
able whitman added a comment - 12/May/08 09:22 AM
Many thanks to Jacek Antonelli for providing a version of my patch that works against the 1.20 RC series viewer! I've attached his patch as well.

able whitman made changes - 12/May/08 09:22 AM
Attachment create_megaprim_120.patch.txt [ 16695 ]
able whitman made changes - 12/May/08 09:24 AM
Source Version 1.19.1.4, 1.20 RC5
Patch attached [Patch attached]
TaraLi Jie added a comment - 12/May/08 09:42 AM
My understanding is that a lot of this work is already underway internally - look for Andrew Linden and the Great Megaprim Compromise. The primary reason it hasn't been exposed yet is that Andrew wants to provide the tools to make sure these don't become griefer-fodder. One of the things was to allow the physics engine to handle collisions of these megaprims with the parcel boundaries as a way of determining if they were intruding where they weren't supposed to.

However, it IS awesome to have more megaprims in circulation! I can't wait, though, for the full and proper solution! Thanks for this step along the way!


Mercia Mcmahon made changes - 12/May/08 09:51 AM
Link This issue is related to by VWR-7191 [ VWR-7191 ]
able whitman added a comment - 12/May/08 02:21 PM
Attaching an updated version ("v2") of my patch against 1.19.1.4. It contains a small fix that will validate the scale values before creating the object.

able whitman made changes - 12/May/08 02:21 PM
Attachment megaprim-create.patch.v2.txt [ 16697 ]
Ilana Debevec added a comment - 12/May/08 03:32 PM
Patch good! Come on Lindens! Just open it up and let us stretch and mod the sizes as we need, no need to keep creating and deleting and create and deleting!

Ann Otoole added a comment - 12/May/08 08:02 PM
You forgot to patch it so prims can be sized to 0.001 as well. And I think a upper limit of 100 meters is adequate.

Make these changes and i'll give it a vote.


able whitman added a comment - 12/May/08 08:27 PM
Ann, the patch as-is already supports prims smaller than 0.01m, but the sim code ignores values smaller than this and forces dimensions to be at least 0.01m, even during object creation. So it seems that while megaprims are possible, microprims are not.

Also, while I can make the upper limit smaller, keep in mind that this is an artificial limit. Right now the sim code allows truly enormous prims to be created, and regardless of what limits this patch sets, unless the sim validation rules change, it will still be possible for people to create larger prims using other clients.


Harleen Gretzky made changes - 12/May/08 10:44 PM
Link This issue is related to by VWR-7202 [ VWR-7202 ]
Sean Heying added a comment - 12/May/08 11:15 PM
Easier and much faster than using the xml editing testclient method.

IRT Anne's comment that sizes should be restricted to 100M, hun, despite it being an artifical limit 128M is a more logical size, 1/4 region.

Also testclient and people with their hands on this patch and the ability to recompile make it a useless suggestion, security through obscurity is no solution.


Cheshyr Pontchartrain added a comment - 13/May/08 07:45 AM
Size is relative. My space station is 240m wide, so I had to use megas larger than 100m. Especially since changing them to the correct shapes (spheres, toruses, etc.) can drastically reduce their size.

if I could add my feature request to official client-created megas, it would be to lift the hollow restrictions. 95% is unusable on very large prims, as, in the case of my 240m outer dimensions, that leaves a 12m thick wall.


able whitman added a comment - 13/May/08 09:02 AM
One more update to the patch (and probably the last, unless I find another bug). Changes:

1. max prim scale is reduced to 100.0m
2. min prim scale is increased to 0.01m to reflect the fact that microprims cannot be created
3. because resizing megaprims causes them to snap back to 10.0m, the "scale" spinners on the object floater, and the scale manipulators are disabled when a megaprim or a linkset containing a megaprim is selected, to prevent breaking megaprims


able whitman made changes - 13/May/08 09:02 AM
Attachment megaprim-create.patch.v3.txt [ 16708 ]
able whitman added a comment - 13/May/08 09:11 AM - edited
If you'd like to try out a pre-compiled viewer (Windows only) with this patch applied, you can either use Nicholaz's EC-f viewer (http://nicholaz-beresford.blogspot.com/) or download a copy of my custom viewer (http://ablewhitman.org/blog/).

My viewer has my UI changes as well, which makes creating prims easier, but the tradeoff is that you don't get to take advantage of all of Nick's excellent work.


able whitman added a comment - 13/May/08 02:30 PM
Okay, one more. This updated patch (v4) adds a small button on the Tools floater to reset the new object size to <0.5, 0.5, 0.5>. Actually, this was included in v3 but I neglected to mention it. New in this version is an option under the Advanced menu to enable editing or manipulating the size of large prims, for use when the viewer is connected to an OpenSim grid, which fully supports prims larger than 10m on a side.

able whitman made changes - 13/May/08 02:30 PM
Attachment megaprim-create.patch.v4.txt [ 16714 ]
Sean Heying added a comment - 13/May/08 04:14 PM
I'm removing my vote as 100M makes the patch less useful. If it were 128M as mentioned above it would be more useful despite this being security through obscurity.

To create a region sized prim floor with 100M limited prims you need 4x 100x100, 4x 100x56 and 1x 56x56 rather than 4x 128x128.

Make the upper prim limit 128M and I will revote.


able whitman added a comment - 13/May/08 04:31 PM
I suppose it's worth pointing out that you can manually edit the RezNewScaleX/Y/Z debug settings with a dimension up to 256.0, then. But really, 100m is a reasonable balance between utility and manageability. Larger prims are awfully unwieldy to handle.

able whitman added a comment - 13/May/08 07:19 PM
I won't be posting any further updates to this issue here, as Andrew Linden confirmed in Havok4 office hours today that, alas, this feature was unintended:

" [11:05] Gaius Goodliffe: Are you guys aware that the constraints that used to stop people from making new megaprims are gone?
[...]
[11:06] Andrew Linden: Yes Gaius, I heard about that. Kelly Linden fixed it – should go out in the next server update.
[11:06] Gaius Goodliffe: Ah okay.
[11:07] Phli Foxchase: so, it's an exploit ?
[11:07] Andrew Linden: Yes, that 'feature" was really a bug and was unintended"
(see: http://wiki.secondlife.com/wiki/User:Andrew_Linden/Office_Hours/2008_05_10)


maaya jessop added a comment - 14/May/08 04:26 AM - edited
I think 64m is the most reasonable interim upper limit considering parcel sizes on the mainland.
That is, until the proper tools can be worked out to take care of parcel overlap.

Here I was hoping the unofficial access to megaprims was some cleverness on LL's part... but my dreams were dashed.
I wish they would increase the size clamp to something more workable in the short term.

edited for late night garble


Felix Duesenburg added a comment - 14/May/08 06:23 AM
I think everybody has a different idea of what a "reasonable" maximum size would be. Like with everything else, any rule imposed will suit some and hamper others. If you had a double-sized private island, what should stop you from slamming a 512x512 prim on it? Maybe you want it to make an eye catcher that appears on the world map, which is a legitimate use. IMHO it would be better to take a different approach to protect neighbours from your wielding the unwieldy. I recently said this on the sldev list:

"To add my own 2 cents, I think griefing happens with or without big prims. But maybe there should be something in place that prevents innocent mistakes from impacting other people. It happened to me once that I clumsily rezzed a megaprim on a parcel that was too small for it, and it totally swallowed the neighbour's house. Then some network error prevented me from deleting it immediately, I could only clear it on the next day. Lucky there was nobody to complain, but if there had been a bunch of people it would have meant trouble. I can't imagine it being very difficult to implement on the server side that rezzing fails if a prim exceeds the parcel limits, except if both parcels belong to the same owner. Private island owners should be allowed to override it even if they subdivided their land."


Lex Neva added a comment - 14/May/08 08:49 AM
Andrew Linden recently said in his office hours that the re-enabling of megaprim creation was a bug and would be disabled in an upcoming release. Given that, it's unlikely that they're going to take this patch and integrate it into the codebase, so this issue should probably be closed.

able whitman added a comment - 18/May/08 11:41 AM
As per Lex's recommendation, closing this bug.

able whitman made changes - 18/May/08 11:41 AM
Status Open [ 1 ] Closed [ 6 ]
Resolution Won't Finish [ 2 ]
Sue Linden made changes - 13/Nov/08 11:50 AM
Workflow jira-2007-12-22a [ 55817 ] jira-2008-11-14 [ 78121 ]
Sue Linden made changes - 13/Nov/08 06:59 PM
Workflow jira-2008-11-14 [ 78121 ] jira-2008-11-14a [ 141392 ]