Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0007509opensim[REGION] Script Functionspublic2015-03-20 11:552015-04-20 22:36
ReporterMagnuz 
Assigned Tonebadon 
PrioritynormalSeverityminorReproducibilityalways
StatusclosedResolutionfixed 
PlatformIntel Core i7OSUbuntuOS Version12.04
Product Versionmaster (dev code) 
Target VersionFixed in Version 
Summary0007509: llSetLinkPrimitiveParams can't set some prim parameters as small as the viewer can
DescriptionThe following properties differ in limits between script and viewer, and needs to be reset in script handling to allow the same settings as from viewer. The attached patches allow this. Thanks to FreakyTech for getting my attention to this.

hollow: 95% -> 99%
dimple diff: 0.05 -> 0.02
hole_size: 0.05 -> 0.01
advanced_cut diff: 0.05 -> 0.02
TagsNo tags attached.
Git Revision or version number0.8.2
Run Mode Grid (1 Region per Sim)
Physics EngineBulletSim
EnvironmentMono / Linux32
Mono Version2.10
ViewerFirestorm 4.4.2 for OS X
Attached Filespatch file icon 0001-Allow-setting-dimple-diff-to-0.02-from-scripts.patch [^] (1,372 bytes) 2015-03-20 11:55 [Show Content]
patch file icon 0001-Allow-setting-holesize-to-0.01-from-scripts.patch [^] (1,388 bytes) 2015-03-20 11:56 [Show Content]
patch file icon 0001-Allow-setting-hollow-to-99-from-scripts.patch [^] (3,199 bytes) 2015-03-20 11:56 [Show Content]
patch file icon 0001-Allow-setting-profilecut-diff-to-0.02-from-scripts.patch [^] (1,359 bytes) 2015-03-20 11:56 [Show Content]

- Relationships
related to 0007508closednebadon llSetLinkPrimitiveParamsFast cannot set path cut as small as the viewer can do 

-  Notes
(0027907)
Magnuz (reporter)
2015-03-20 12:00

Patches added to adjust limits, one per property. The patch for dimple also fixes an old error and adds clipping.
(0027919)
Robert Adams (administrator)
2015-03-21 08:39

Good changes but could you change the constants to be parameters? Maybe an XEngine parameter like 'MinimumCutSize' or something appropriate. The problem originally came because there are constants scattered around the code.

Also, could you look at the Util.Clamp* functions. There are some Util functions for bounding and min/max'ing values that might be useful.
(0027923)
Magnuz (reporter)
2015-03-21 11:58

Sorry, but since I neither have the time, skills or a long enough stick to poke deeper into the XEngine mess, and have no clue what an "XEngine parameter" is, the answer will have to be no on the first, and I see no use in wasting time on the second then.

Feel free to close this Mantis.
(0027933)
Magnuz (reporter)
2015-03-22 08:22

I'd suggest taking these patches and FreakyTech's in Mantis 7508 as is, and do the parameterization and re-factoring of code separately and consistently over the entire LSL_Api.

I've started looking into parameterization, having submitted one patch for the 63 sleep constants in Mantis 7510, that'll probably need updating after merging Mantis 7508 and 7509 or revising to better programming practice.

I've inventoried the 69 constants I deem suitable for parameterization for limits and clamping, but need advice on where to stash the parameters for them and how to make them accessible to the API and tests where they are used. Sorry, but I'm no C++ programmer, so don't expect anything too fancy.
(0027934)
Robert Adams (administrator)
2015-03-22 10:23

I will push the commits shortly. Thanks for improving OpenSimulator!

As to parameters, OpenSimulator uses Nini which parses the INI files. Since most of your variables are in LSL_Api.cs, check out the routine 'LoadConfig()'. You will see that 'm_ScriptEngine.ConfigSource' is a handle to the base configuration. The call to 'seConfigSource.Config["LL-Functions"]' gets a handle to the "[LL-Functions]" INI section. You can use "lslConfig.GetBoolean(name, default)", 'GetFloat', and 'GetInteger' to fetch the values from the INI files. The calls give a default if the named parameter is not in the init file.

I'd think that the sleep parameters should go in the INI "[LL-Functions]" section rather than the "[XEngine]" section because they relate to the language parameters and not the particular engine executing them.

The other alternative is table driven parameters like in 'OpenSim/Region/Physics/BulletSPlugin/BSParam.cs' but that would be larger changes to XEngine.
(0027935)
Robert Adams (administrator)
2015-03-22 10:25

oops. It's IConfig.GetInt(name, default) and not IConfig.GetInteger(name, default).

I get used to auto complete. :)
(0027996)
nebadon (administrator)
2015-04-12 12:30

applied in master git
(0027998)
Magnuz (reporter)
2015-04-13 10:39

The fourth patch "0001-Allow-setting-profilecut-diff-to-0.02-from-scripts.patch" was never applied.
(0028038)
nebadon (administrator)
2015-04-20 14:04

fourth patch has been applied to git master > http://opensimulator.org/viewgit/?a=commit&p=opensim&h=e855c8e7118823808f6af89f878f81858fbf35c6 [^]
(0028039)
Magnuz (reporter)
2015-04-20 22:36

Verified code and function, so closing.

- Issue History
Date Modified Username Field Change
2015-03-20 11:55 Magnuz New Issue
2015-03-20 11:55 Magnuz File Added: 0001-Allow-setting-dimple-diff-to-0.02-from-scripts.patch
2015-03-20 11:55 Magnuz Relationship added related to 0007508
2015-03-20 11:56 Magnuz File Added: 0001-Allow-setting-holesize-to-0.01-from-scripts.patch
2015-03-20 11:56 Magnuz File Added: 0001-Allow-setting-hollow-to-99-from-scripts.patch
2015-03-20 11:56 Magnuz File Added: 0001-Allow-setting-profilecut-diff-to-0.02-from-scripts.patch
2015-03-20 12:00 Magnuz Note Added: 0027907
2015-03-20 12:00 Magnuz Status new => patch included
2015-03-21 08:39 Robert Adams Note Added: 0027919
2015-03-21 11:58 Magnuz Note Added: 0027923
2015-03-22 08:22 Magnuz Note Added: 0027933
2015-03-22 10:23 Robert Adams Note Added: 0027934
2015-03-22 10:25 Robert Adams Note Added: 0027935
2015-04-12 12:30 nebadon Note Added: 0027996
2015-04-12 12:30 nebadon Status patch included => resolved
2015-04-12 12:30 nebadon Resolution open => fixed
2015-04-12 12:30 nebadon Assigned To => nebadon
2015-04-13 10:39 Magnuz Note Added: 0027998
2015-04-13 10:39 Magnuz Status resolved => patch included
2015-04-20 14:04 nebadon Note Added: 0028038
2015-04-20 14:04 nebadon Status patch included => resolved
2015-04-20 22:36 Magnuz Note Added: 0028039
2015-04-20 22:36 Magnuz Status resolved => closed


Copyright © 2000 - 2012 MantisBT Group
Powered by Mantis Bugtracker