User:Strife Onizuka/Sandbox/Switch/Switch: Difference between revisions

From Second Life Wiki
Jump to navigation Jump to search
Strife Onizuka (talk | contribs)
No edit summary
Strife Onizuka (talk | contribs)
 
(110 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{LSL_Function
* {{#vardefine:buffer|a}}{{#switch:|{{#vardefineecho:buffer|{{#var:buffer}}b}}={{#vardefineecho:buffer|{{#var:buffer}}c}}|{{#vardefineecho:buffer|{{#var:buffer}}d}}={{#vardefineecho:buffer|{{#var:buffer}}e}}}}~{{#var:buffer}}
|func_id=279|func_sleep=0.2|func_energy=10.0
* {{#vardefine:buffer|a}}{{#switch:ab|{{#vardefineecho:buffer|{{#var:buffer}}b}}={{#vardefineecho:buffer|{{#var:buffer}}c}}|{{#vardefineecho:buffer|{{#var:buffer}}d}}={{#vardefineecho:buffer|{{#var:buffer}}e}}}}~{{#var:buffer}}
|func=llGetPrimitiveParams|sort=GetPrimitiveParams
* {{#vardefine:buffer|a}}{{#switch:abb|{{#vardefineecho:buffer|{{#var:buffer}}b}}={{#vardefineecho:buffer|{{#var:buffer}}c}}|{{#vardefineecho:buffer|{{#var:buffer}}d}}={{#vardefineecho:buffer|{{#var:buffer}}e}}}}~{{#var:buffer}}
|return_type=list|p1_type=list|p1_name=params|p1_desc=PRIM_* flags
* {{#vardefine:buffer|a}}{{#switch:abbdd|{{#vardefineecho:buffer|{{#var:buffer}}b}}={{#vardefineecho:buffer|{{#var:buffer}}c}}|{{#vardefineecho:buffer|{{#var:buffer}}d}}={{#vardefineecho:buffer|{{#var:buffer}}e}}}}~{{#var:buffer}}
|func_footnote
* {{#vardefine:buffer|a}}{{#switch:abd|{{#vardefineecho:buffer|{{#var:buffer}}b}}={{#vardefineecho:buffer|{{#var:buffer}}c}}|{{#vardefineecho:buffer|{{#var:buffer}}d}}={{#vardefineecho:buffer|{{#var:buffer}}e}}}}~{{#var:buffer}}
|func_desc
|return_text=that is the primitive parameters specified in the '''params''' list.
|spec
|caveats
|constants={{LSL Constants/PrimitiveParams|get}}
|examples
|helpers=<pre>
list GetPrimitiveParams(list input)
{//Returns a list that can be fed to llSetPrimitiveParams
    list output;
    integer c = ~(input != []);
    while(0x80000000 & (c = - ~c))
    {
        list flag = (list)llList2Integer(input, c);
        if(~llListFindList([PRIM_BUMP_SHINY, PRIM_COLOR, PRIM_TEXTURE, PRIM_FULLBRIGHT, PRIM_TEXGEN], flag ))
        {
            integer side = llList2Integer(input, (c = - ~c));
            if(~side)//pop the stack
                output += flag + side + llGetPrimitiveParams( flag + side );
            else
            {
                side = llGetNumberOfSides();
                do //we return the sides in reverse order, easier to code; runs faster.
                    output += flag + side + llGetPrimitiveParams( flag + (side = ~ -side) );
                while(side);
            }
        }
        else
            output += flag + llGetPrimitiveParams( flag );
    }
    return output;
}
//Contributed by Strife Onizuka
</pre>
|also_functions={{LSL DefineRow||[[llSetPrimitiveParams]]|Set many primitive parameters}}
{{LSL DefineRow||[[llSetLinkPrimitiveParams]]|}}
|also_tests
|also_events
|also_articles
|notes
|cat1=Prim
|cat2=Movement
|cat3=Texture
|cat4=Status
|cat5=Object
|cat6=
}}

Latest revision as of 15:38, 17 December 2010

  • ~abd
  • abc~abc
  • ~abd
  • ~abd
  • abde~abde