subtypeidKGScriptParserduration?ð framebaseencodingparms inputFormat inputCountpublic masterscaletitle master scaleuitypetypeminmaxDzdefaultBÈvalueBÈrampB´ scalestroke scale stroke rot8tinr8iorotation ratio?€CHA@A@B¾inner radiusn 1CHApApunits%outerradius 2CúCC!%accuracyaccuracy?€C´ApApBp centrepointcentrerot8nmaster rotation Ç  G  haslinestroke linecolour line colourÿÿÿÿÿÿÿÿ linewidth line widthC–@@B´has_fillfillcol fill colourÿÿsoftsoftnessAð?€?€!%privatestaticsscript //--------------------------------// // Stib's spiraly thing // // for more visit www.fxscript.org // //--------------------------------// //copyright 2005 stephen dixon //This software is free - you may use, modify and distribute it as you wish, with the following provisos: //*it may not be used by any military organisation, or to produce goods or services for any military organisation. //* this source code must remain open //* this message and the accompanying doccumentation files must remain with the source //additionally this software is released under the terms of the GNU general Public license //see http://www.gnu.org/licenses/gpl.html for the full text of this license or look at the readme that came with the plugins //this software comes with no warranty of fitness for any purpose whatsoever, ok. //if you like it or if you do something creative with it let me know, I'd love to hear from you. // fxscripts@fxscript.org is the address scriptid "stib's spiral thing" generator "stib's spiral thing"; group "stib's generators"; producesAlpha; AlphaType(kAlpha) input MasterScale, "master scale", Slider, 100, 0, 1000 ramp 90 input ScaleStroke, "scale stroke", CheckBox, true input Rot8tinR8io, "rotation ratio", slider, 12, 1, 200 ramp 95 input inner, "radiusn 1", slider, 15, 0, 200 label "%" input outer, "radius 2", slider, 150, 0, 500 label "%" input Accuracy, "accuracy", Slider, 15, 1, 360 ramp 60 input centrepoint, "centre", Point, 0, 0; input rot8n, "master rotation", Angle, 0, -36000, 36000; input hasline, "stroke", checkbox, true input lineColour, "line colour", Color, 255, 255, 255, 255; input lineWidth ,"line width", Slider, 2, 0, 300 ramp 90; input has_Fill, "fill", CheckBox, false input col, "fill colour", Color, 255, 0,0,0; input soft, "softness", slider, 1, 0, 30 label "%" code exposedbackground=1; Accuracy *= 3 MasterScale /= 100; if ScaleStroke == true lineWidth *= MasterScale end if inner *= MasterScale outer *= inner/100 float width, height, pointcount, i, theAspect; float innerRot8ion, outerRot8ion; theAspect = aspectOf(dest) pointcount = Accuracy * Rot8tinR8io point PrettyPoly[pointcount], centrePoint1, drawingPoint; DimensionsOf(dest, width, height) image buf1[width][height]; ChannelFill(buf1, 0, 0,0,0) inner *= width/100; outer *= width/100; centrepoint.X *=width centrepoint.Y *= height centrePoint1 = {centrepoint.X+inner, centrepoint.Y} drawingPoint = {centrePoint1.X+outer, centrePoint1.Y} PrettyPoly[0] = drawingPoint; repeat with i = 1 to pointcount-1 innerRot8ion = 360/pointcount outerRot8ion = 360*Rot8tinR8io/pointcount; Rotate(centrePoint1, centrepoint, innerRot8ion, theAspect) Rotate(drawingPoint, centrePoint1, outerRot8ion, theAspect) PrettyPoly[i] = drawingPoint; //Line(PrettyPoly[i-1],PrettyPoly[i], buf1, lineColour, lineWidth) end repeat if rot8n != 0 Rotate(PrettyPoly, centrepoint, rot8n, theAspect) end if if has_fill FillPoly(PrettyPoly, buf1, col) end if if hasline repeat with i = 0 to pointcount-3 step 2 CurveTo(PrettyPoly[i], PrettyPoly[i+1], PrettyPoly[i+2], buf1, lineColour, lineWidth) end repeat CurveTo(PrettyPoly[pointcount-3], PrettyPoly[pointcount-2], PrettyPoly[0], buf1, lineColour, lineWidth) end if if soft > 0 BlurChannel(buf1, dest, soft, true, true, true, true, theAspect) else dest = buf1 end ifscriptidstib's spiral thingnamestib's spiral thinggroupstib's generators producesalpha alphatypeencoded